Hallo Liste Ich habe SuSE 9.0 mit KDE 3.3.1 am Laufen. Irgendwie hab ich ein völliges Brett vorm Kopf und bitte um vorsichtige Entfernung desselben. Drehe mich seit Stunden im Kreis und komme nicht weiter. Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die Apachestartseite). Im dortigen Ordner cgi-bin läuft ein Perl-Script ebenfalls korrekt. Nun wollte ich auch noch PHP ausprobieren, aber beim Aufruf folgender PHP-Datei indexphp.html <HTML> <HEAD> <TITLE>PHP-Test</TITLE> </HEAD> <BODY> <?PHP echo phpinfo(); ?> </BODY> </HTML> bekomme ich nur die Fehlermeldung Error message: Premature end of script headers: indexphp.html In der error_log steht auch nix anderes Wie kann ich denn herausfinden, ob PHP überhaupt läuft? Ein php -v auf der Konsole ergibt PHP 4.3.3 (cgi) (built: Jul 15 2004 11:52:02) php /srv/www/cgi-bin/indexphp.html gibt mir in der Konsole die ganz normale PHP-Startseite als html-Code aus. Folglich läuft doch PHP, oder? Bitte den Brettentferner ganz schnell rufen... Danke für die Hilfe Andy
Andreas Schott wrote:
Hallo Liste
Ich habe SuSE 9.0 mit KDE 3.3.1 am Laufen. Irgendwie hab ich ein völliges Brett vorm Kopf und bitte um vorsichtige Entfernung desselben. Drehe mich seit Stunden im Kreis und komme nicht weiter.
Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die Apachestartseite). Im dortigen Ordner cgi-bin läuft ein Perl-Script ebenfalls korrekt. Nun wollte ich auch noch PHP ausprobieren, aber beim Aufruf folgender PHP-Datei indexphp.html
<HTML> <HEAD> <TITLE>PHP-Test</TITLE> </HEAD> <BODY> <?PHP echo phpinfo(); ?> </BODY> </HTML>
bekomme ich nur die Fehlermeldung
Error message: Premature end of script headers: indexphp.html
Hallo, was passiert denn, wenn du die Datei in irgendwas.php umbenennst? Mit der Dateiendung .html ist es keine PHP Datei für den Webserver sondern eine html Datei. Zumindest bei einer normalen konfiguration. Bye Andreas
Am Sonntag, 14. November 2004 22:08 schrieb Andreas Schott:
Hallo Liste
Ich habe SuSE 9.0 mit KDE 3.3.1 am Laufen. Irgendwie hab ich ein völliges Brett vorm Kopf und bitte um vorsichtige Entfernung desselben. Drehe mich seit Stunden im Kreis und komme nicht weiter.
Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die
ich denke mal du meinst http://localhost oder http://127.0.0.1-8 oder http://::1 oder hast du eine toplevel domain für deinen heimrechner? ;-)
Apachestartseite). Im dortigen Ordner cgi-bin läuft ein Perl-Script ebenfalls korrekt. Nun wollte ich auch noch PHP ausprobieren, aber beim Aufruf folgender PHP-Datei indexphp.html
<HTML> <HEAD> <TITLE>PHP-Test</TITLE> </HEAD> <BODY> <?PHP echo phpinfo(); ?> </BODY> </HTML>
bekomme ich nur die Fehlermeldung
Error message: Premature end of script headers: indexphp.html
In der error_log steht auch nix anderes
Wie kann ich denn herausfinden, ob PHP überhaupt läuft?
Ein php -v auf der Konsole ergibt
PHP 4.3.3 (cgi) (built: Jul 15 2004 11:52:02)
php /srv/www/cgi-bin/indexphp.html
gibt mir in der Konsole die ganz normale PHP-Startseite als html-Code aus.
Folglich läuft doch PHP, oder?
Bitte den Brettentferner ganz schnell rufen...
Danke für die Hilfe
Andy
ein php script sieht immer so aus: index.php <?PHP echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>PHP-Test</title> </head> <body>'; echo phpinfo(); echo '</body> </html>'; ?> wobei hier auch ein simples <?PHP echo phpinfo(); ?> ausreicht. Übrigens: die php datei muss im verzeichniss "/srv/www/htdocs" liegen damit apache sie "ausführt" (für gewöhnlich ist das so...) Patrick
Am Sonntag, 14. November 2004 23:21 schrieb Patrick Trettenbrein:
ich denke mal du meinst http://localhost oder http://127.0.0.1-8 oder http://::1 oder hast du eine toplevel domain für deinen heimrechner? ;-)
Wohl kaum. TLDs werden afaik nicht an Privatpersonen ausgegeben. (oder?) Vielleicht meinst _du_ aber eher "2nd Level Domain"? Andreas
Am Sonntag, 14. November 2004 23:21 schrieb Patrick Trettenbrein:
Am Sonntag, 14. November 2004 22:08 schrieb Andreas Schott: [...]
Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die
ich denke mal du meinst http://localhost oder http://127.0.0.1-8 oder http://::1 oder hast du eine toplevel domain für deinen heimrechner? ;-)
Ich wollte einfach nur klarmachen, dass der Webserver läuft. Ob nun mein lokaler Rechner irgendwas.irgendwas heisst oder nicht sollte doch keine Rolle spielen. Aber du hast natürlich Recht - ich habe keine .de-Domain zuhause. [...]
ein php script sieht immer so aus: index.php
Wie komm ich nur drauf, diese Datei als HTML enden zu lassen???
ausreicht. Übrigens: die php datei muss im verzeichniss "/srv/www/htdocs" liegen damit apache sie "ausführt" (für gewöhnlich ist das so...)
Das war neben der dateieindung der entscheidende Tipp. Danke für die Brettentfernung Andy
Am Sonntag, den 14.11.2004, 22:08 +0100 schrieb Andreas Schott:
Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die Apachestartseite). Im dortigen Ordner cgi-bin läuft ein Perl-Script ebenfalls korrekt. Nun wollte ich auch noch PHP ausprobieren, aber beim Aufruf folgender PHP-Datei indexphp.html
<HTML> <HEAD> <TITLE>PHP-Test</TITLE> </HEAD> <BODY> <?PHP echo phpinfo(); ?> </BODY> </HTML>
bekomme ich nur die Fehlermeldung
Error message: Premature end of script headers: indexphp.html
Alles komisch. Zunächst mal sollte deine php-Datei auch auf .php enden. Die Fehlermeldung legt nahe, daß deine Datei nicht als html mit eingebettetem php ausgeführt wird, sondern als cgi. Die gleiche Fehlermeldung liefert z.B. ein kaputtes perl-script. Kann es sein, daß du den Ordner als script-Ordner definiert hast, und jetzt wird alles "executed"? Probier mal einfaches html ohne alles. Gruß, Ratti -- -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
Am Sonntag, 14. November 2004 23:56 schrieb Joerg Rossdeutscher:
Am Sonntag, den 14.11.2004, 22:08 +0100 schrieb Andreas Schott:
Ich habe den Apachen am Laufen (http://meinrechnername.de zeigt mir die Apachestartseite). Im dortigen Ordner cgi-bin läuft ein Perl-Script ebenfalls korrekt. Nun wollte ich auch noch PHP ausprobieren, aber beim Aufruf folgender PHP-Datei indexphp.html
<HTML> <HEAD> <TITLE>PHP-Test</TITLE> </HEAD> <BODY> <?PHP echo phpinfo(); ?> </BODY> </HTML>
bekomme ich nur die Fehlermeldung
Error message: Premature end of script headers: indexphp.html
Alles komisch.
Zunächst mal sollte deine php-Datei auch auf .php enden.
Genau - siehe anderer Teilthread. Wie ich darauf komme??? Frag mich besser nicht.
Die Fehlermeldung legt nahe, daß deine Datei nicht als html mit eingebettetem php ausgeführt wird, sondern als cgi. Die gleiche Fehlermeldung liefert z.B. ein kaputtes perl-script. Kann es sein, daß du den Ordner als script-Ordner definiert hast, und jetzt wird alles "executed"? Probier mal einfaches html ohne alles.
Sollte das nicht normal sein, wenn die php-Datei in cgi-bin liegt? Aber das hatte ich natürlich nicht explizit geschrieben. Liegt die PHP-Datei in htdocs oder einem Unterordner davon klapt alles. Danke Andy
Hallo Andreas, hallo Leute, Am Montag, 15. November 2004 09:19 schrieb Andreas Schott:
Am Sonntag, 14. November 2004 23:56 schrieb Joerg Rossdeutscher:
Am Sonntag, den 14.11.2004, 22:08 +0100 schrieb Andreas Schott: [...]
Premature end of script headers: indexphp.html
Zunächst mal sollte deine php-Datei auch auf .php enden. [...] Sollte das nicht normal sein, wenn die php-Datei in cgi-bin liegt? Aber das hatte ich natürlich nicht explizit geschrieben. Liegt die PHP-Datei in htdocs oder einem Unterordner davon klapt alles.
Eben. PHP läuft üblicherweise in beliebigen Ordnern (mit Ausnahme von /cgi-bin/, wie Du gerade festgestellt hast ;-) Das ist sogar recht praktisch - ich habe schon einiges gebastelt, wo inmitten eines großen HTML-Gerüsts irgendwo ein kleines <?php echo $irgendwas ?> vorkommt [1] - und es wäre mehr als nervig, die betreffende Datei nach /cgi-bin/ verschieben zu müssen. Oder, um es deutlicher zu sagen, fast alle von mir erstellten Seiten müssten dann fast komplett in /cgi-bin/ liegen ;-) BTW: Falls Du PHP dochmal in /cgi-bin/ brauchst, müsste ein Eintrag #!/usr/bin/php am Anfang der Datei helfen (ungetestet!). Gruß Christian Boltz PS: Wenn Du das programmierst, von dem ich das Funktionsschema habe: Melde Dich mal per PM bezüglich der Umsetzung. Ich hätte da ein Schema, das sich schon mehr als einmal bewährt hat und die Sache recht flexibel auch für den Einsatz in anderen Webseiten macht. Im Prinzip geht es dabei nur um die Einhaltung von ein paar Programmiergrundsätzen, also nix schlimmes ;-) Und auf Deinen PHP-Code werfe ich auch gern mal ein Auge ;-) [1] Es gibt natürlich auch umfangreichere PHP-Scripte von mir ;-) Aber auch in diesen Fällen nutze ich recht oft die Einbettung von PHP-Code inmitten von HTML. -- Ich kriege Druck von beiden Seiten. Den technisch Bewanderten ist man immer der "Agenturheini, kein Ahnung, Hauptsache bunt" - und für die Kreativen ist man immer "Der Langweiler, der am liebsten alles SchwarzWeissTimesNew runterrasseln" würde. Beides macht das Web nicht besser. [Ratti in suse-linux]
participants (6)
-
Andreas Gehrke[linux]
-
Andreas Stieger
-
Christian Boltz
-
Joerg Rossdeutscher
-
Patrick Trettenbrein
-
suse-linux@t-online.de