Apache 2 und PHP 5 habe ich von der SuSE 9.3-Professional-DVD installiert und das PHP5-Modul in Apache aktiviert.
Apache läuft. Statische HTML-Seiten aus dem DocumentRoot- und aus dem UserDir-Verzeichnis (/home/xxx/public_html) werden richtig angezeigt. Ein PHP-Testskript, das in DocumentRoot liegt, wird richtig ausgeführt (mit "echo phpinfo()" als Inhalt).
Aber weder PHP-Skripte aus public_html noch CGI-Skripte aus public_html/cgi-bin werden ausgeführt. Entweder der Quelltext wird angezeigt oder es wird nachgefragt, ob die Datei angezeigt oder heruntergeladen werden soll.
Wo fehlt da welche Einstellung? Für die CGI-Skripte brauche ich vermutlich noch so etwas wie
<directory /home/*/public_html/cgi-bin/>
Options +ExecCGI
SetHandler cgi-script
</directory>
Aber für PHP? ExecCGI für public_html? Aber PHP läuft ja gerade nicht als CGI.
Ich habe gegoogelt mit "Apache php userdir", aber nur die gleiche Frage ohne eine Antwort gefunden (zumindest auf Deutsch oder Englisch). Und in der Dokumentation zu Apache und PHP finde ich auch nichts Passendes.
Zusatzfrage: SuSE empfiehlt ja, nicht in die httpd.conf zu schreiben, sondern eigene Include-Dateien anzulegen. Wo ist für die der beste Platz, gibt es dafür einen Standardort?
Nachträgliche Ergänzung:
Konqueror und Firefox verhalten sich unterschiedlich. Konqueror hat das PHP-Skript aus dem public_html-Verzeichnis immer ausgeführt (hatte ich nicht gleich probiert) und führt nach Einfügen einer Include-Datei in httpd.conf mit dem oben angegebenen Directory-Abschnitt auch die CGI-Skripte richtig aus. Aber Firefox tut nach wie vor keins von beiden. Sieht aus als müsste ich im Firefox etwas einstellen, aber was? Etwas Offensichtliches kann ich nicht finden.
Apache läuft. Statische HTML-Seiten aus dem DocumentRoot- und aus dem UserDir-Verzeichnis (/home/xxx/public_html) werden richtig angezeigt. Ein PHP-Testskript, das in DocumentRoot liegt, wird richtig ausgeführt (mit "echo phpinfo()" als Inhalt).
Aber weder PHP-Skripte aus public_html noch CGI-Skripte aus public_html/cgi-bin werden ausgeführt. Entweder der Quelltext wird angezeigt oder es wird nachgefragt, ob die Datei angezeigt oder heruntergeladen werden soll.
Wo fehlt da welche Einstellung? Für die CGI-Skripte brauche ich vermutlich noch so etwas wie
<directory /home/*/public_html/cgi-bin/>
Options +ExecCGI
SetHandler cgi-script
</directory>
Aber für PHP? ExecCGI für public_html? Aber PHP läuft ja gerade nicht als CGI.
Ich habe gegoogelt mit "Apache php userdir", aber nur die gleiche Frage ohne eine Antwort gefunden (zumindest auf Deutsch oder Englisch). Und in der Dokumentation zu Apache und PHP finde ich auch nichts Passendes.
Zusatzfrage: SuSE empfiehlt ja, nicht in die httpd.conf zu schreiben, sondern eigene Include-Dateien anzulegen. Wo ist für die der beste Platz, gibt es dafür einen Standardort?
Nachträgliche Ergänzung:
Konqueror und Firefox verhalten sich unterschiedlich. Konqueror hat das PHP-Skript aus dem public_html-Verzeichnis immer ausgeführt (hatte ich nicht gleich probiert) und führt nach Einfügen einer Include-Datei in httpd.conf mit dem oben angegebenen Directory-Abschnitt auch die CGI-Skripte richtig aus. Aber Firefox tut nach wie vor keins von beiden. Sieht aus als müsste ich im Firefox etwas einstellen, aber was? Etwas Offensichtliches kann ich nicht finden.