premature end of script headers
Holla, diese Meldung hat mich heute ‘nen halben Tag gekostet.
Also falls Ihr so eine Meldung bei Euren PHP-Scripten bekommt und ein 500-Status wegen möglicher Miskonfiguration zurückgeliefert wird, liegt das mit großer Wahrscheinlichkeit an falschen (nicht unbedingt fehlenden) Dateirechten.
Bei mir war folgendes der Fall:
PHP läuft als CGI, Apache greift also mit Userrechten auf die Dateien zu. Beim Hochladen bzw. Entpacken der Dateien werden diese auch fein dem user zugeordnet.
Aber:
Den Dateien waren natürlich vorher schon Zugriffsrechte zugeteilt gewesen. In meinem Fall die Rechte, die auf einem anderem Webserver benötigt wurden. Und das war hauptsächlich 664 — aber auch teilweise ganz krudes Zeuch wie 766.
So weit so unspektakulär. Da ich die Dateien aber als gezipptes tarball-Archiv hochgeladen und auf dem Server entpackt habe, sind die Berechtigungen beibehalten worden. Ist auch noch alles normal.
Das Problem, was sich bei mir auftat: Bei allen Dateien mit zuviel zugewiesen Rechten, wurden mit dem premature end of script headers
-Fehler quittiert. Nach Änderung der Dateirechte auf 644 lüppt nun alles wieder. Also Owner darf Lesen/Schreiben, Gruppe und Rest darf nur lesen.
Nota bene: Von 777 lässt man lieber die Finger. Das kann man höchtens mal temporär zum Testen/Debuggen vergeben. Ansonsten ist das böse … ganz böse!