PHP-Skripte in Subdirectories
PHP-Skripte in Subdirectories
am 05.04.2005 15:51:15 von Oliver Ekeis
Hi NG,
ungern stelle ich diese Frage hier, weil ich glaube, daß die bestimmt schon
1000 mal gestellt wurde. Aber ich habe meine Antwort noch nicht im
Netz gefunden.
Ich habe einen dedizieren Server vorinstalliert mit Linux Suse 9.0, Apache
2.0.48,
PHP 4.3.3 und ich möchte gerne PHP in Unterverzeichnissen des
htdoc-Verzeichnisses
benutzen. Ich habe das Rädchen dafür leider noch nicht gefunden. Im doc-root
des
Apache funktioniert die Datei test.php (einfacher Aufruf der
phpinfo()-Funktion).
Kopiere ich die Datei in ein beliebiges Unterverzeichnis bekomme ich den
Fehler
'Premature end of script headers...'.
Woran liegt das?
Muß da ein ensprechend konfiguriertes .htaccess-file sein?
Hat das eventuell etwas mit den Zugriffsrechten zu tun?
Testweise habe ich die Rechte auf 777 rekursiv gesetzt - leider ohne
Wirkung.
Der Benutzer/Gruppe ist der Prozessbenutzer des Apache und stimmt auch.
Danke im voraus.
Oliver.
Re: PHP-Skripte in Subdirectories
am 05.04.2005 17:56:06 von Thomas Hamacher
Oliver Ekeis schrieb:
[Premature end of script headers...]
> ungern stelle ich diese Frage hier, weil ich glaube, daß die bestimmt schon
> 1000 mal gestellt wurde. Aber ich habe meine Antwort noch nicht im
> Netz gefunden.
Weil du nicht gesucht hast. Google bringt mehr als 35.000 Treffer und
der erste ist direkt die Apache-FAQ.
MfG,
Thomas
Re: PHP-Skripte in Subdirectories
am 06.04.2005 08:48:32 von Oliver Ekeis
Sorry, aber ein Link wäre willkommen.
Ich gebe wohl immer noch die falschen Suchworte ein :-(
Dank und Mfg, Oliver.
Re: PHP-Skripte in Subdirectories
am 06.04.2005 09:53:17 von Oliver Ekeis
Nachtrag: Die Rechte sind definitv richtig gesetzt.
Mfg, Oliver.
Re: PHP-Skripte in Subdirectories
am 06.04.2005 10:08:23 von Oliver Ekeis
Mit den aktuellen Rechten / Besitzern erhalte ich die Fehlermeldung:
Warning: main(includes/mambo.php): failed to open stream: Permission denied
in /abc/public_html/xyz/index.php on line 28
Fatal error: main(): Failed opening required 'includes/mambo.php'
(include_path='.:/usr/share/php') in /abc/public_html/xyz/index.php on line
28
Die test.php aus dem Hauptverzeichnis wird anstandslos ausgeführt.
Ich bin ratlos...
Re: PHP-Skripte in Subdirectories
am 06.04.2005 14:18:32 von dev-null-use-reply-adress
Oliver Ekeis schrieb:
> Mit den aktuellen
.... aber offensichtlich falschen ...
> Rechten / Besitzern erhalte ich die Fehlermeldung:
>
> Warning: main(includes/mambo.php): failed to open stream: Permission denied
> in /abc/public_html/xyz/index.php on line 28
> Fatal error: main(): Failed opening required 'includes/mambo.php'
> (include_path='.:/usr/share/php') in /abc/public_html/xyz/index.php on line
> 28
>
> Die test.php aus dem Hauptverzeichnis wird anstandslos ausgeführt.
.... und die /abc/public_html/xyz/index.php ebenfalls, sonst käme ja
nicht diese Fehlermeldung. Sie kann halt nur nicht includes/mambo.php
einbinden. Warum sie das nicht kann, sagt Dir die Fehlermeldung.
Warum stimmen denn nun die Rechte nicht? Nun, Dein PHP läuft scheinbar
als CGI. Das erkenne ich an der anderen Fehlermeldung ("premature
end..."). Vielleicht ist auch noch suexec eingeschaltet. Dabei laufen
PHP Scripte unter einen bestimmten Nutzeraccount, den man ggf. auch
noch für jeden virt. Hosts separat definieren kann.
Dein Mambo-System hast Du vermutlich per FTP hochgeladen. Der FTP
Benutzer ist wohl ein anderer als der, der unter dem das Script läuft.
Gleich die Benutzer halt ab, oder versuche mal includes/mambo.php
volle Rechte (0777) zu geben.
Gruß, JPM
Re: PHP-Skripte in Subdirectories
am 06.04.2005 16:17:49 von Oliver Ekeis
Hallo NG und vor allem Jens,
danke für Deine Antwort.
> > Mit den aktuellen
> ... aber offensichtlich falschen ...
> > Rechten / Besitzern erhalte ich die Fehlermeldung:
Ich glaube nicht, daß die Rechte falsch sind. Alle Verzeichnisse sind auf
den User USER und die Gruppe WWW
eingestellt. Darunter läuft auch auch der Apache-Prozess.
Ich habe mittlerweile eine Verbesserung erreicht, in dem ich einen
virtuellen Server angelegt habe, der auf die
Subdomain xyz.meinedomain.de reagiert. Das htdocs-Verzeichnis dieses
virtuellen Servers ist /abc/public_html/xyz.
Die Verbesserung ist, daß nun die /abc/public_html/xyz/index.php wie
gewünscht ausgeführt wird. Die stößt jedoch an ihre
Grenzen, wenn sie auf Scripte in Unterverzeichnissen zugreifen will.
Error_Log vom apache2 meldet:
Permission denied: /home/abc/public_html/xyz/installation/.htaccess
pcfg_openfile: unable to check htaccess file, ensure it is readable
Ich denke, daß ich vielleicht nun ein Zeichen dafür, daß die
User/Gruppen-Rechte stimmen, aber aufgrund des
htaccess-Files die Zugriffe nicht berechtigt sind.
Meine Frage dazu:
- Kann und sollte man die htaccess-Zugriffsregelung in der
Apachekonfiguration abschalten? Wenn ja wie?
- Muß ich bei dem PHP-System (Mambo) eine htaccess-Datei in *jedes*
Unterverzeichnis legen?
- Was muß ich in die htaccess-Datei eintragen, damit der PHP-Zugriff
funktioniert?
Ich danke Dir/Euch schon einmal im voraus für Deine/Eure Mühe.
Gruß, Oliver.