[PHP] cgi & output op eerste regel

Pagina: 1
Acties:

  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 09-07 21:48
Beetje vage topictitel misschien, maar het probleem is ook redelijk vaag ;)

Ik heb php als binary geinstalleerd naast de normale apache module om gebruik te kunnen maken van het suexec mechanisme.
Werkt in principe prima, maar op de allereerste output regel komt "#!/usr/local/bin/php" te staan.
Er ligt me heel vaag iets bij dat ik hier eerder iets over heb gehoord, en ik weet heel zeker dat het bij oudere php versies (4.0.2 ofzo) niet gebeurde.

Er is vast een compile of config optie om dit te onderdrukken, maar kan nix vinden hier op got of op google.

Wie biedt uitkomst? :)

  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 09-07 21:48
Even voor de duidelijkheid een voorbeeld:

test.cgi :
code:
1
2
3
4
#!/usr/local/bin/php
<?php
print ("blaaaaaat");
?>

Dit geeft de output:
code:
1
#!/usr/local/bin/php blaaaaaat

Waarbij de "#!/usr/local/bin/php " natuurlijk niet gewenst is.

Verwijderd

Heb ik ook gehad. Andere versie van php gepakt en toen was het bij mij opgelost. Heb zelf niet verder naar een verklaring gezocht.

BTW: ik dacht dat het de gewoonte was om een lege regel tussen de #!/path/ en de daadwerkelijke code te zetten. Maar volgens mij is dat niet zo belangrijk.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 24 april 2002 14:13 schreef QuarK het volgende:
Waarbij de "#!/usr/local/bin/php " natuurlijk niet gewenst is.
Dat viel mij laatst ook al op, met php-4.1.2 oid. Toen heb ik het maar anders gedaan, de aanroep in die cronjob's veranderd in "php script.php" ipv direct het script.

  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 09-07 21:48
Hij heeft dit vreemde gedrag pas sinds een paar versies geleden, en ik kan zo snel niets in de source of configure files vinden.

Hopen maar dat iemand toch een oplossing heeft. Die workaround van ACM voor shell scriptjes gaat hier niet werken ;(