Wie geht sowas?

doofyzz

Registered User
Hallo alle miteinander!
ich habe folgendes Problem:
ich habe meine Webseite auf meinen VServer geladen und zwar ins Hauptverzeichnis /html (Confixx) Wenn ich die Seite nun aufrufen will bekomme ich als Meldung: Fehler 500 - Internal Server Error
Das merkwürdige ist aber, wenn ich ein Unterverzeichnis erstelle, meinetwege /html/test dann funktioniert die Seite ganz normal. Wie kann das sein? Es ist ne ganz simpel gestrickte php Seite?
Hat da jemand ne Idee?

 
Meine Güte, das man das immer wieder sagen muss.
Was steht in den Logs dazu?
Speziell in der error_log vom Apache.
 
sorry, hätt ich gleich mit dazu packen können:
Sun Oct 22 12:50:23 2006] [error] [client 88.72.200.182] Premature end of script headers: index.php
[Sun Oct 22 12:50:23 2006] [error] [client 88.72.200.182] SoftException in Application.cpp:233: Directory "/home/www/web0/html" is writeable by group
[Sun Oct 22 12:50:23 2006] [error] [client 88.72.200.182] *** glibc detected *** double free or corruption (fasttop): 0x08070c88 ***
 
[Sun Oct 22 12:50:23 2006] [error] [client 88.72.200.182] *** glibc detected *** double free or corruption (fasttop): 0x08070c88 ***
Welche Distribution/Release setzt du ein? Alle Updates eingespielt?
Sind Apache/PHP von der Distribution - und wenn nicht, wurden sie auf dieser Maschine kompiliert und wurde seit dem die glibc geupdated?
 
also ich probier mal best möglich zu antworten:
ich benutze debian.
updates werd ich gelich mal machen.
das ist nen kompletter vserver, keine ahnung was du mit dem kompiliert meinst :-/ habe da nichts weiter verändert. warum gehts denn in dem unterverzeichnis, nicht aber im hauptverzeichnis???
 
warum gehts denn in dem unterverzeichnis, nicht aber im hauptverzeichnis???
Es könnte gehen, wenn du dem Hauptverzeichnis die Schreibrechte für die Gruppe entziehst.

Ist auf diese Meldung im Log hin geraten:
SoftException in Application.cpp:233: Directory "/home/www/web0/html" is writeable by group

Also:
Code:
chmod g-w /home/www/web0/html

Das glibc-Problem solltest du allerdings auch beobachten. Die Progs laufen i.d.R. trotzdem (wenn es sich um den "double free" und nicht die "corruption" handelt) aber schön ist anders...
 
Fehler 500 ist wohl ein Scriptfehler. Beim IIS kann man eine ausführliche Meldung im Browser aktivieren. Dann sieht man die Script-Zeile mit Hinweis auf die Fehlerursache. Vermutlich kann der Apache das auch.

Typische Ursachen für Scriptfehler nach Webseitenumzug sind falsche Pfade und/oder falsche Zugriffsrechte. Wenn's mit einem (beliebig benannten) Test-Unterverzeichniss funktioniert würde ich mal die relativen Pfadangaben überprüfen ( .\verz1\verz2 oder \verz1\verz2) und die Schreibrechte der Verzeichnisse und Dateien (für Log- und Configdateien z.B.)
 
Bei Perl kann man mit dem Einfügen der Zeile
Code:
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
die Fehler an den Browser senden lassen.
 
so, habe jetzt alles geupdatet, geht aber noch nicht
dann habe ich das mit der gruppe gemacht, geht auch noch nicht. jetzt habe ich einfach mal nen datei hochgeladen, wo nur nen bissel text drin steht. wenn ich die nun laden will gleicher fehler. diese datei hat ne php endung. wenn ich dadraus nun einfach html mache dann gehts :(
 
Klar gehts dann, weil mit der .html-Endung der Seitenquelltext vom Webserver nicht als Script interpretiert wird und somit auch keine Scriptfehler erzeugt.

Unter dem Vorbehalt eines Sicherheitsrisikos kannst du hier ja mal den den Link zur .html-Seite posten. Sicherheitsrisiko deshalb, weil dann jeder Einblick in deine Scripte haben kann.
 
Den Confixx web0 Account sollte man nicht nutzen, sondern einen neuen anlegen. Lege als reseller mal web1 an und probiere es dann!
 
Tja, ich hätte jetzt irgendwo ein <?php erwartet.

Und überhaupt, es wird doch alles angezeigt. *kopfkratzt* PHP scheint ja grundsätzlich zu funktionieren, das Portal wird ja angezeigt. Hier mal ein Ansatz:

Der Impressum-Link in deinem Portal zeigt auf /meyersch/index.php?open=impressum&title=Impressum. Wenn da wer draufklickt, sucht die index.php nach dem Content den sie darstellen soll. Und die sucht wohl nach einer html-Datei die sie nicht findet, deshalb der Scriptfehler. Vielleicht sucht sie im falschen Verzeichniss. Genaueres kann man sagen, wenn man die index.php kennt.

Überigens fehlt auf den Seiten das html-Grundgerüst. Und das Gästebuch geht auch nicht *meckert*
 
Last edited by a moderator:
Nein, das geht schon alles. Das script sieht folgendermaßen aus:
Code:
<?php
        if ($open) { echo $open.".php"; } else {echo "home.php";}
        ?>
Deswegen ne php Datei. Und wenn ich das nun im Hauptverzeichnis "ausführe" bekomm ich den Fehler 500. Jede PHP Datei erzeugt diesen Fehler.

P.S.: Das mit dem Gästebuch weiß ich. Nur brauch ichs nicht fertig machen, bevor es net an der rechten Stelle ist. ;)
 
Das ist ja lustig.

http://www.meyersch.de/meyersch/index.php?open=impressum funktioniert
http://www.meyersch.de/meyersch/impressum.php funktioniert auch

beide Dateien sind auch im selben Verzeichnis.

Schreibfehler (z.B. Großschreibung) beim open= erzeugen einen Fehler 404: Datei nicht gefunden:

http://www.meyersch.de/meyersch/index.php?open=Impressum
http://www.meyersch.de/meyersch/Impressum.php

Kein open= zeigt die home.php:

http://www.meyersch.de/meyersch/index.php?open=

Tja, warum meckert die index.php, wenn sie im Root-Verzeichniss liegt? Und warum gibt sie sich mit einer .html zufrieden? Das kann ich im Moment nicht nachvollziehen:(

[Edit]Da muss ja noch mehr sein. Wenn man die Dateien direkt mit z.B. impressum.php aufruft, wird nur die reine Datei dargestellt. Mit index.php?open= erscheint das gesamte Portal, da muss also noch mehr sein als dein Scriptausschnitt zeigt.[/EDIT]
 
Last edited by a moderator:
jetzt hast du verstanden was mein problem ist. es geht mir also net dadrum, was im Unterverzeichnis los ist, sondern nur, warum er mit den php Dateien im Hauptverzeichnis nicht kalrkommt. Ich hab keine Ahnung. :(

Groß und kleinschreibung ist ja klar, da wird unterschieden. Sicher ist da noch mehr, dass ist jedoch nicht relevant für das Problem.
 
Hallo,

daß das Script in einem Iframe-Tag steckt hättest Du dazusagen können. :(

Das Ergebnis von
http://www.meyersch.de/meyersch/index.php?open=http://php.net/index
sollte Dich nachdenklich stimmen. :)

Wenn man schon so einen $zensiert programmiert, dann mach wenigstens allow_url_fopen in der php.ini aus! (und register_globals gleich mit)

Wenn es im html-Verzeichnis einen 500 gibt, dann gibt's dazu einen Logeintrag, was steht da drin, nachdem Du die Gruppenrechte von html geändert hattest?

Funktionieren im html-Verzeichnis einfache Scripts wie
Code:
<?php
echo "1+2";
?>
 
Groß/klein war nur der Test ob ein Seite-nicht-gefunden oder ein Fehler-500 bei nicht gefundener Datei gemeldet wird.

Offensichtlich funzt der Codeabschnitt, aber warum .php klemmt und .html nicht ist damit immer noch nicht erklärt.

Ein echo $open vor der Abfrage wäre vielleicht auch aufschlussreich, falls das Script überhaupt bis dahin ausgeführt wird (was ich bezweifle)
 
Es hängt nicht mit dem Script zusammen, sondern irgendwie mit php. Alle Dateien, die mit der Endung .php enden erzeugen den Fehler 500. Html Dateien funtkionieren ganz normal. Komm jetzt grad nicht an die log, die schick ich nachher.
 
Back
Top