Ich habe eine PHP-Anwendung auf einem gemeinsam genutzten Webserver installiert. Ich erhalte eine 500 Internal Server Error
. Ich scheine keinen Zugang zu Protokolldateien zu haben, daher möchte ich, dass die Fehlerseite vorübergehend Einzelheiten über den Fehler enthält.
Antworten
Zu viele Anzeigen?Wenn Jeremy Morgans Lösung nicht funktioniert, versuchen Sie, Ihre eigene Protokolldatei zu erstellen, indem Sie set_error_handler()
. Normalerweise reichen einige Informationen über den Zustand der Anwendung ($GLOBALS usw.) aus, aber PHP wird (zumindest versuchen), Ihnen alle möglichen Informationen darüber zu geben, wo der Fehler aufgetreten ist und um welche Art von Fehler es sich handelt.
Versuchen Sie auch, die "Divide and Conquer"-Methode der Fehlersuche anzuwenden. Beginnen Sie mit etwa der Hälfte Ihrer Datei und erweitern Sie sie dann nach oben, wenn sie immer noch abstürzt, oder nach unten, wenn sie bis zu diesem Punkt läuft. Wenn Sie Ihren Code nicht entfernen wollen, können Sie entweder /* comment out */
den auszuschneidenden Code, oder verwenden Sie die __halt_compiler()
um PHP zu veranlassen, alle restlichen Daten in der Datei zu ignorieren.
Eine Sache, die mich wahnsinnig gemacht hat, ist ein sogenanntes Byte Order Mark . PHP wertete diese Stückliste am Anfang der Datei aus, was dazu führte, dass es Ausgaben sendete und Probleme beim Senden von Kopfzeilen und dergleichen verursachte. Wahrscheinlich ist das nicht das Problem, das Sie haben, aber es lohnt sich, das zu wissen.