PHP-Fehler ausgeben
Gerdi
- php
0 Gerdi0 Rolf B0 Gerdi
0 Input benötigt.
Raketenwilli0 Gerdi0 Raketenwilli0 Rolf B
Mojn, ich habe ein kleines Testprogramm geschrieben und ins Internet geladen. Ich habe eigentliche eine Ausgabe erwartet, es kommt allerdings ein leerer Bildschirm. Wie kann ich angeben, dass ggf. eine Fehlermeldung ausgegeben wird? Gruß Gerdi
Ergänzung: Da das Programm andere UPs aufruft, sollte die Einstellung möglichst über Routine im Root-Verzeichnis möglich sein.
Hallo Gerdi,
siehe das erste Benutzerbeispiel auf der error_reporting Seite im PHP Handbuch.
error_reporting(E_ALL)
sorgt dafür, dass keine Meldung unterdrückt wird.
ini_set("display_errors", 1)
sorgt dafür, dass Fehlermeldungen in den Ausgabestrom (also in den Browser) geschrieben werden.
Diese Einstellung gilt ab dem Moment, wo Du sie setzt, bis zum Ende des PHP Requests (bzw. bis zu dem Moment, wo Du sie wieder abschaltest). D.h. auch für UP.
Wenn Du auf die php.ini Zugriff hast, kannst Du beides auch dort setzen - sollte man aber nur tun, wenn dieses PHP einen reinen Testbetrieb bildet.
Wenn Du weißt, ob und wohin dein PHP eine Error-Logdatei schreibt, kannst Du auch log_errors auf 1 setzen und findest die Meldungen dann dort statt mitten ins HTML geklatscht.
Rolf
Hallo Gerdi,
Danke Rolf, es klappt!
und ins Internet geladen
Hm. „Ins Internet“ … Da gibt es aufregend (unfassbar) viele Möglichkeiten, etwas falsch und/oder etwas richtig zu machen - was dann halt nicht funktioniert, weil etwas anderes „falsch“ ist.
PHP-Fehler landen in einem Error-Log. Informiere Dich, wo dieses auf Deinem System ist. Du teilst uns dazu (zu Deinem System) nicht einmal die Mindestangaben (Betriebsystem, welches PHP wie installiert) mit.
es kommt allerdings ein leerer Bildschirm
„Leerer Bildschirm“ ist ein „weites Feld“.
Du musst schon „Butter bei die Fische tun“ - sonst gibt es unfassbar viele Möglichkeiten.
und ins Internet geladen
Hm.
Rolf hat mich verstanden.
und ins Internet geladen
Hm.
Rolf hat mich verstanden.
Das Rolfs Ratschlag (naja: er hat ja geraten) geholfen hat, ist „komplett Spedition“, also reiner Zufall. Du musst an Deinem Fehlerbeschreibungen arbeiten und überlegen, welche Informationen für potentiell Helfende selbst hilfreich sein könnten.
Und, wenn wir schon dabei sind:
ini_set( "display_errors", 1 );
Das ist auf Produktivservern (erst recht solchen „im Internet“) aus Gründen der Sicherheit allenfalls zeitweise eine gute Idee. Getestet wird wo anders… und der Kenner schaut sowieso ins Error-Log.
Getestet wird wo anders… und der Kenner schaut sowieso ins Error-Log.
An meiner Frage hätte man erkennen können, dass ich
Hallo Gerdi,
beides solltest Du versuchen, abzustellen.
Rolf
Hallo Gerdi,
ich bin halt vom dümmsten möglichsten Startpunkt ausgegangen (an dem ich zu Beginn meiner PHP-"Karriere" auch war) und habe Dir die passende Stelle aus dem Handbuch vorgelesen.
Ich hätt ja auch einfach einen Link posten können…
Rolf