PHP Newbie-Frage (500-Errors)

Bash, Shell, PHP, Python, Perl, CGI
mkss
Posts: 12
Joined: 2004-12-23 01:22

PHP Newbie-Frage (500-Errors)

Post by mkss » 2004-12-23 01:33

Hallo,
ich hoffe, einer von Euch Experten hat für mich eine Idee parat ...

Ich bin Newbie auf Rootserver und habe bisher nur PHP unter Windows eingesetzt. Nun habe ich ein kleines Script, das mittels mail() Mails von einem Formular versenden soll. Funktioniert unter Windows (PHP-IIS5) prima, nur auf dem Rootserver (1&1) bekomme ich permanent 500-Errors.

Ich publiziere mit NetObjects Fusion 8; die PHP-Datei wird als Formularaktion als lokale Datei angegeben. NOF publiziert diese in ein Verzeichnis /html/cgi-bin des aktuellen Webs. Kontrolle per ftp: Datei ist da. Nur der Aufruf funktioniert eben nicht. Auch im Seitenquellcode des Browsers ist korrekt als Aktion ../cgi-bin/<datei>.php angegeben. NOF führt HTML-Dateien standardmässig von /html/html aus, deshalb auch der ../-Pfad.

Das Script verwendet keine Includes und keine Stylesheets und sollte autonom laufen. Weiss jemand, wo ich anfangen muss zu suchen?

PHP ist v4.3.4, Konfiguration Standard/Auslieferung.

TIA,
Michael

[tom]
RSAC
Posts: 671
Joined: 2003-01-08 20:10
Location: Berlin

Re: PHP Newbie-Frage (500-Errors)

Post by [tom] » 2004-12-23 04:02

Hast Du eine .htaccess Datei? Und wenn ja, was steht drin?

mkss
Posts: 12
Joined: 2004-12-23 01:22

Re: PHP Newbie-Frage (500-Errors)

Post by mkss » 2004-12-23 09:03

.htaccess-Datei im cgi-bin? Nein, so schlau ist NOF dann wohl doch nicht... was sollte dort denn mindestens drin stehen?

Micha

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: PHP Newbie-Frage (500-Errors)

Post by Roger Wilco » 2004-12-23 11:23

mkss wrote:Das Script verwendet keine Includes und keine Stylesheets und sollte autonom laufen. Weiss jemand, wo ich anfangen muss zu suchen?
In den Apache-Logfiles deines Vertrauens. Ein "Internal Server Error" (500) erzeugt i. d. R. immer Einträge im Error-Log. Funktionieren die PHP-Skripte denn außerhalb von /cgi-bin?

[tom]
RSAC
Posts: 671
Joined: 2003-01-08 20:10
Location: Berlin

Re: PHP Newbie-Frage (500-Errors)

Post by [tom] » 2004-12-23 14:32

mkss wrote:.htaccess-Datei im cgi-bin?
Das muss nicht im cgi-bin sein. Das kann auch in einem Verzeichnis darüber sein. Apache sucht vom Wurzelverzeichnis aus nach .htaccess Dateien und wertet diese aus.

mkss
Posts: 12
Joined: 2004-12-23 01:22

Re: PHP Newbie-Frage (500-Errors)

Post by mkss » 2004-12-23 14:57

Ja, ich habe eine .htaccess-Datei im Rootverzeichnis des Webs. Aber da stehen nur die (von Confixx generierten) ErrorDocument-Einstellungen drin.
Was sollte denn typischerweise noch rein? Und überschreibt Confixx diese Datei wieder, z.B. bei Ã?nderungen in den ErrorDocument-Settings?

Wie gesagt, ich bin leider totaler Apache-Newbie... dafür klappts beim IIS um so besser :-)

TIA,
Micha

[tom]
RSAC
Posts: 671
Joined: 2003-01-08 20:10
Location: Berlin

Re: PHP Newbie-Frage (500-Errors)

Post by [tom] » 2004-12-23 15:03

Benenn die .htaccess mal um und schau, ob der Fehler immer noch auftritt.

mkss
Posts: 12
Joined: 2004-12-23 01:22

Re: PHP Newbie-Frage (500-Errors)

Post by mkss » 2004-12-23 15:21

Hmmm.. habe ich gemacht, dann erscheint aber folgendes:

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

Fehlermeldung:
Premature end of script headers: sendmail.php

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

Error 500

TIA,
Micha

NACHTRAG:
Aus zahlreichen Infos habe ich entnommen, dass man Scripte (geschrieben unter Windows) per DOS2UNIX konvertieren sollte, damit die Zeilenumbrüche *nix-konform sind. Habe ich gemacht, ändert aber nix. Auf einem anderen (shared) Server läuft das Script, ist also inhaltlich ok. Dort läuft PHP aber auch als CGI.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: PHP Newbie-Frage (500-Errors)

Post by Roger Wilco » 2004-12-23 16:42

Me, myself & I wrote:Funktionieren die PHP-Skripte denn außerhalb von /cgi-bin?
Ich könnte mir vorstellen, dass SuExec dazwischenfunkt. Ausserdem hast du wohl noch nicht in den Logfiles nachgesehen (suexec.log z. B.).

mkss
Posts: 12
Joined: 2004-12-23 01:22

Re: PHP Newbie-Frage (500-Errors)

Post by mkss » 2004-12-23 23:14

Habt alle Dank für Eure Unterstützung! Ich habe die Lösung des Problems gefunden (und sie war wieder einmal viel zu einfach für mein kompliziertes Denken):

NOF publiziert alles, was nach Script aussieht nach /html/cgi-bin. Und da NOF bei Nichtvorhandensein das Verzeichnis selbst anlegt, hat der Apache wohl nicht sonderlich viele Rechte dort (PHP läuft nicht als CGI, sondern als Apache-Modul).
Mit Tricks kann man NOF aber dazu veranlassen, 'CGI'-Dateien auch woanders hin zu schreiben. Zum Beispiel dorthin, wo auch die .html-Dateien liegen. Und siehe da, jetzt klappt es prima! Der Hinweis mit .htaccess und der auf 'ausserhalb cgi-bin' hat mich irgendwie auf die Spur gebracht.
Bei der Gelegenheit nur mal so eine kleine Frage nebenbei - ich finde leider den richtigen Artikel nicht: Wie stelle ich ohne grosse Probleme PHP auf Betrieb als CGI um? Und bitte: Ich bin - was Rootserver angeht - maximal 5 Jahre alt - also bitte auch so einfach erklären :lol:

Ich hoffe, ich kann mich mal revanchieren!

Thx,
Micha