Hi Mathias,
Nützt nicht viel, da ja keinerlei Ausgabe davon im Browser erscheint, sondern wie gesagt nur meine 404-Fehlerseite. Auch eine Logausgabe in /tmp führt zu keinem Ergebnis; es ist, als würde das Script überhaupt nicht ausgeführt. Alle Rechte sind jedoch korrekt gesetzt.
Dann hast du irgendwo anders einen Fehler reingebaut, ich kann dir bestätigen, dass folgendes funktioniert:
ScriptAlias /wrapper/ /var/www/example.org/wrapper/
AddType application/x-httpd-php5 .php
Action application/x-httpd-php5 /wrapper/php5-starter
<Directory /var/www/example.org/wrapper>
Options ExecCGI
</Directory>
php5-starter ist dabei folgendes Script:
#!/bin/bash
exec /usr/local/bin/php5-cgi /var/www/example.org/htdocs$1
Ich habe jetzt gerade mal ausprobiert, ob das auch klappt, wenn ich -s mit anhänge. Es ist mir nicht gelungen, dass mit der php5-cgi zu schaffen, wenn ich aber PHP CLI verwende, dann klappt es:
#!/bin/bash
echo "Content-Type: text/html"
echo ""
exec /usr/local/bin/php5 -s /var/www/example.org/htdocs/index.php
Ist eigentlich sowieso viel besser so, weil man nun noch ein HTML Gerüst drum packen kann - die Ausgabe von PHP ist nämlich nur der <code>-Block ohne was drumrum.
Versuche ich jetzt allerdings beim exec das /index.php durch $1 zu ersetzen, dann funktioniert es nicht mehr... Nehme ich aber php5-cgi und einfach $1 statt /index.php, dann funktioniert es.
Kann man PHP CLI nicht einfach mit $1 den Pfad geben? *grübel* Vielleicht hab ich auch grade nur irgendwo einen Denkfehler drin ;-)
Jedenfalls habe ich gerade noch festgestellt, dass wenn ich statt $1 einfach $PATH_INFO nehmen, dass es dann wie gewünscht funktioniert und es werden mir sämtliche Dateien im Quelltext angezeigt, wie im Apache definiert (hier: .php).
Viele Grüße aus Kanada,
~ Dennis.