php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Premature end of script headers


 
Skaschy
14-05-2005, 01:31 
 
Hi,

bekomme ab und zu die meldung:

Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.

Fehlermeldung:
Premature end of script headers: index.php

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500
2k5.mtk-party.de
Sat May 14 01:08:22 2005
Apache/2.0.48 (Linux/SuSE)

von meinem Server an dem Kopf geworfen.

nur "Premature end of script heraders: index.php" sagt mir herzlich wenig =(

Jemand eine Ahnung woran das liegen kann?

 
loadbalancer
16-05-2005, 13:39 
 
Hi Skaschy,

ich hab das selbe Problem. Hast Du vielleicht eine Lösung gefunden ?

Lasse ich ein Script auf Der Konsole laufen und schaue mir anschließend die Ausgabe an stehen 2 Zeilen des Headers im html Text.


X-Powered-By: PHP/4.3.3
Content-type: text/html

<html>
<head>
<title>Mein zweites PHP-Beispiel</title>
</head>
<body>
<h1>PHP-Beispiel:</h1>
Heute ist der 16.05.2005.

 
fizoblon
30-06-2005, 19:24 
 
Bei mir lags daran, dass ich php-scripte der Gruppe
"www" und dem user "apacheuser" zuordnnen muss.

Strato Suse 9.0

Ist der FTP-Account richtig eingestellt geschieht dies automatisch.
(ähm ...sollte...)
Da ich mit winSCP übertragen hatte, gehört alles root (mir)

Ich fands raus im Apache Errorlog:
Error in suphp.c on line 313: user is not allowed to run scripts

 
MaxP0W3R
13-08-2005, 16:25 
 
Original geschrieben von fizoblon
Bei mir lags daran, dass ich php-scripte der Gruppe
"www" und dem user "apacheuser" zuordnnen muss.

Strato Suse 9.0

Ist der FTP-Account richtig eingestellt geschieht dies automatisch.
(ähm ...sollte...)
Da ich mit winSCP übertragen hatte, gehört alles root (mir)

Ich fands raus im Apache Errorlog:
Error in suphp.c on line 313: user is not allowed to run scripts

wo kann man einstellen wie die php dateien ausgeführt werden ?

 
fizoblon
14-08-2005, 08:50 
 
wo kann man einstellen wie die php dateien ausgeführt werden ?

müstest du schon präzisieren, dieses 'wie'
Befehl für die Owner unter linux ist
chown -cR user:group *

tatsächlich hatte ich den "Premature end of script headers" mittlerweile öfter; - er tritt immer auf wenn der php-Interpreter nichts liefert, warum auch immer. Premature ist also eine nette Pntertreibung.

Weitere Ursachen in der php.ini
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

wenn große oder lang laufende Scripte nicht wollen.

Wenn Dateien bearbeitet werden vom Script und die Rechte von User und Gruppe nicht stimmen oder Safemode on ist, tritt er auch auf.

Am besten immer erstmal die suphp.log und die Apache Errorlogs checken.

gruß

 
proweso
02-09-2005, 09:06 
 
Die Überprüfung der User- und Gruppenrechte kann man auch abschalten, indem man in "/etc/sysconfig/apache2" das Modul "mod_suphp" aus der Liste der Apache-Module entfernt.

Mini-Anleitung:

1. Die Datei "/etc/sysconfig/apache2" mit dem Editor öffnen
2. Die Zeile "APACHE_MODULES="access actions ..." finden
3. Den Text "mod_suphp" aus der Zeile löschen
4. Datei speichern und Editor schließen
5. Apache Neustart: "/etc/init.d/apache2 reload"

 
fizoblon
02-09-2005, 09:50 
 
ähmmmm. was meinst denn du wofür es da ist?
du kannst auch die Firewall deinstallieren
oder register_globals = on setzen
... nur sinnvoll ist das nicht :mad:
ohne suPHP ist der Kasten offen wie ein Scheunentor
:huep:

p.s.:poste mir mal die url von dem server :D

 
proweso
13-09-2005, 15:47 
 
Vielen Dank für die Sicherheitsbelehrung :teach:

Natürlich bietet suPHP ein zusätzliches Mass an Sicherheit auf dem Server und man sollte im Einzelfall entscheiden, ob man darauf verzichten kann.

Wer seinen Server als Hosting-Plattform anbietet und diversen Leuten einen Account gibt sollte aus Sicherheitsgründen weiter mit suPHP arbeiten.
In meinem Fall bin ich alleiniger Herr über diverse Domains, die alle gemeinsame PHP Sourcen benutzen. Dabei steht mir suPHP eher im Weg als das es mir hilft.

Ob der "Kasten" offen wie ein Scheunentor ist, wag ich zu bezweifeln. Und der Vergleich mit der Firewall hinkt wohl auch ein bisschen.

P.S. Wer phpinfo() auf seinem Server öffentlich zugänglich macht, sollte mal über seine eigene Sicherheit nachdenken :grin:

 
Fabricio
30-08-2006, 20:28 
 
Kann mir jemand erklären, wie ich den Fehler wegbekomme bzw. die richtige Einstellungen mache und Rechte vergebe ohne, daß ich den Root bzw. Apache öffne wie ein Scheunentor? Hab mal mod_suphp aus der config rausgenommen, dann gehts. aber ich möchte das sauber regeln. Bitte für einen totalen Newbie erklären. Thx im vorraus.

Gruß Fabri

 
fizoblon
31-08-2006, 06:04 
 
Nun ja der Thread ist ja schon ein ganzer Blumenstrauss mit Möglichkeiten:

Speicherplatz pro Scriptausführung (in der php.ini)
Rechte (mit chown und chmod)
usw.

letztendlich helfen nur die Einträge in den Logdateien und die näheren Umstände des Fehlers (immer/manchmal) weiter, um eine Abhilfe zu schaffen. Gibts denn schon eine Domain deren Scripte laufen?

Entscheidend ist eben, das suPHP (u.a) die Fehlermeldungen einiger Beteiligter nicht bis zum Browser ausliefert (was ok ist), sondern diese Meldung vom Apache kommt, wenn wider Erwarten kein Output zurückkommt, wenn er ein Scipt zur Ausführung 'vergeben' hat. Dies macht z.B. auch gerne ein Perlscript oder ein C# - Programm

Ohne die Logs kommst du nicht weiter. Irgendwo steht da relativ klar, was los war.

Gruß

 
Fabricio
31-08-2006, 11:22 
 
Hi, hab chmod und Speicherbegrenzung schon hochgesetzt.
Momentan hab ich es am Laufen, indem ich die mod_suphp mit mod_php ersetzt habe. Ob das ne dauerhafte Lösung sein sollte kann ich net sagen.

Hier Auszüge aus den Logs.
Suphp.log:

[Wed Aug 30 18:06:26 2006] [info] Executing /home/f/*****-*****.de/public_html/phpinfo.php as user *****domainde (1000), group www (60006)

[Wed Aug 30 18:33:18 2006] [error] Script (/home/f/*****-*****.de/public_html/index.php) is writeable by others

[Wed Aug 30 19:34:37 2006] [error] UID of /home/f/*****-*****.de/public_html/phpinfo.php or its target (30 / wwwrun) < 100

und die error.log:
[Wed Aug 30 21:24:19 2006] [error] [client 83.135.238.183] Error in suphp.c on line 256: Inappropriate permissions set on script

[Wed Aug 30 21:24:20 2006] [error] [client 83.135.238.183] Premature end of script headers: index.php


Gruß Fabri

 
FoBo
04-09-2006, 08:56 
 
Ich bekomme die fehlermeldung ebenfalls, kenne mich mit php so gut wie 0 aus. Mein Kumpel, der das bisher immer für mich gemacht hatte hat keine Zeit (Lust) mehr...

So, erstmal: Wo (zum Teufel) finde ich die php.ini?

 
Fabricio
04-09-2006, 11:41 
 
@FoBo, daß kann ich dir wohl sagen. Bei mir liegt sie in /etc/php.ini

Gruß Fabri

PS: Vielleicht stimmt was net mit mod_suphp bei uns, ich habs momentan geändert auf mod_php in der "/etc/sysconfig/apache2". Ob das ne Dauerlösung bzw. ne saubere Lösung ist bezweifle ich. Wäre super, wenn die Experten uns hier mal helfen könnten.

 
FoBo
04-09-2006, 11:49 
 
Jo, da lag sie bei mir auch. max exec time auf 60 hoch gesetzt. Hat aber nichts gebracht.

Was könnte ich jetzt (als absoluter newbee) als nächstes versuchen?

 
Fabricio
04-09-2006, 12:46 
 
Original geschrieben von proweso
Die Überprüfung der User- und Gruppenrechte kann man auch abschalten, indem man in "/etc/sysconfig/apache2" das Modul "mod_suphp" aus der Liste der Apache-Module entfernt.

Mini-Anleitung:

1. Die Datei "/etc/sysconfig/apache2" mit dem Editor öffnen
2. Die Zeile "APACHE_MODULES="access actions ..." finden
3. Den Text "mod_suphp" aus der Zeile löschen
4. Datei speichern und Editor schließen
5. Apache Neustart: "/etc/init.d/apache2 reload"


aber wie gesagt, sicherheitstechnisch ist das keine dauerhafte lösung. Poste am besten auch mal deine logdateeinträge vom apache und warte ab. Ich bin ebenfalls Newbie.

 
FoBo
04-09-2006, 12:54 
 
Kann ich gerne posten. Es gibt hauptsächlich die Mecker, daß eine gewisse Größe überschritten wurde.

 
Fabricio
04-09-2006, 13:49 
 
Vielleicht versuchte mal:

memory_limit = 24M ; Maximum amount of memory a script may consume (8MB)

stand bei mir auf 8M, aber ich habs hochgstellt. Nur bei mir hast nicht geholfen.

Fabri

 
FoBo
04-09-2006, 13:52 
 
Jo, habs inzwischen auch raus gefunden. Das war der Fehler. Habe es einfach auf 16 MB vergrößert und es klappt.

Trotzdem Danke für die Hilfe!

Nun habe ich ein weiteres Problem.
Ich will einen Hack updaten, bekomme aber die fehlermeldung:
Error in suphp.c on line 256: Inappropriate permissions set on script

1.: Wo finde ich die Datei?
2.: Was muß ich da ändern?

Schreibrechte habe ich auf die Setup, nur das Script scheint da wohl quer zu schlagen...

 
vieth_biz
17-10-2006, 17:20 
 
Da hilft die SuPHP Doku nicht wirklich weiter, habe durch try and error herausgefunden was bei mir hilft:


cd /webordner
chown -R nutzer:apachegruppe ./*
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;


Das Ergebnis sieht dann so aus:


ls -al

drwxr-xr-x 4 nutzer gruppe 4096 Oct 17 16:35 .
drwx---r-x 3 nutzer gruppe 4096 Oct 17 16:30 ..
-rw-r--r-- 1 nutzer gruppe 2146 Oct 17 16:30 banner.gif
-rw-r--r-- 1 nutzer gruppe 91 Oct 17 16:30 bg.gif
drwxr-xr-x 2 nutzer gruppe 4096 Oct 17 16:33 cgi-bin
-rw-r--r-- 1 nutzer gruppe 489 Oct 17 16:30 index.html

 
FoBo
11-03-2007, 19:09 
 
So, ich beiß gleich in die Tischkante: Das Problem ist wieder aufgetreten....

Änderungen in der php.ini haben nichts gebracht

 
Belumi
22-02-2008, 15:48 
 
Hallo zusammen,
ich hab jetzt nach einem Update die gleiche Fehlermeldung wie Skaschy, werd aber noch nicht ganz schlau aus den Posts hier . Was muss ich den jetzt genau machen um diesen Fehler zu beheben? :goth:

Fehlermeldung:
Premature end of script headers: index.php

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500

Mon Feb 18 18:01:54 2008
Apache/2.2.6 (FreeBSD) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g:goth:

 
Belumi
04-03-2008, 12:31 
 
Original geschrieben von Belumi
Hallo zusammen,
ich hab jetzt nach einem Update die gleiche Fehlermeldung wie Skaschy, werd aber noch nicht ganz schlau aus den Posts hier . Was muss ich den jetzt genau machen um diesen Fehler zu beheben? :goth:

Fehlermeldung:
Premature end of script headers: index.php

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500

Mon Feb 18 18:01:54 2008
Apache/2.2.6 (FreeBSD) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g:goth:

Ist dieses Problem nur bei mir aufgetreten?

 
Belumi
25-03-2008, 11:12 
 
Original geschrieben von Belumi
Ist dieses Problem nur bei mir aufgetreten?

 
barfly
09-11-2008, 19:23 
 
Hatte eben dasselbe Problem. Der Fehler tauchte plötzlich auf, nachdem ich eine Software des HostingPaketes installiert hatte und kurz darauf wieder vom Server löschte. Da es sich hierbei um ein Bild-Upload-Programm handelte, das spezielle Rechte zum Hochladen und Abspeichern von Grafiken benötigt (kennt man ja von Formularen, mit denen man auch Logos abspeichern möchte) scheint dadurch etwad durcheinandergekommen zu sein.
Jedenfalls funktionierte alles wieder einwandfrei nachdem ich die Rechte des Ordners, der die index.php enthielt entspr. zurückgestellt hatte.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:55 Uhr.