php.ini - Alle Fehlermeldungen ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • php.ini - Alle Fehlermeldungen ausgeben

    Hi zusammen,

    Folgender Code (von dem ich weiß das er falsch ist):

    Quellcode

    1. <?
    2. if($hallo == "0")
    3. "hello"
    4. }
    5. ?>


    Wenn ich diese Datei auf meinem Testsystem (XAMPP) ausführe bekomme ich folgende Rückgabe:
    Parse error: syntax error, unexpected '}' in /opt/lampp/htdocs/odin/hello.php on line 4

    Wenn ich selbige PHP Datei auf meinem Produktiv Webserver aufrufe bekomme ich keinerlei Rückgabe. Es gibt also wohl in der php.ini eine Einstellung dafür, richtig? Diese habe ich leider nicht finden können, weiß die jemand von euch vielleicht?

    Grüße,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Hat was mit dem Error_reporting zu tun. Man kann das einstellen:

    Der Blog in der php.ini heißt

    Error handling and logging

    speziell:

    display_errors = On

    Da müsstest du alles einstellen können
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • Hi!

    Also, ich wollte ja erreichen das mir die Fehlermeldungen ausgegeben werden, hierfür habe ich falschen Code MIT ABSICHT geschrieben um eine solche Ausgabe zu provozieren. Ich habe es sogar dazugeschrieben:

    Folgender Code (von dem ich weiß das er falsch ist):


    Folglich war bisher genau ein Tip dabei (error_reporting) ... jedoch ist der bereits auf On gesetzt und ich kriege die Ausgabe trotzdem nicht :(

    Noch weitere Ideen? *neugierigschau*
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Du hast dir vermitlich nicht den ganzen Abschnitt zum Error Handling angeschaut.
    display_errors = On ist nicht alles.

    Dazu gibts noch error_reporting = E_ALL & ~E_NOTICE

    ; error_reporting is a bit-field. Or each number up to get desired error
    ; reporting level
    ; E_ALL - All errors and warnings (doesn't include E_STRICT)
    ; E_ERROR - fatal run-time errors
    ; E_WARNING - run-time warnings (non-fatal errors)
    ; E_PARSE - compile-time parse errors
    ; E_NOTICE - run-time notices (these are warnings which often result
    ; from a bug in your code, but it's possible that it was
    ; intentional (e.g., using an uninitialized variable and
    ; relying on the fact it's automatically initialized to an
    ; empty string)
    ; E_STRICT - run-time notices, enable to have PHP suggest changes
    ; to your code which will ensure the best interoperability
    ; and forward compatibility of your code
    ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
    ; initial startup
    ; E_COMPILE_ERROR - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR - user-generated error message
    ; E_USER_WARNING - user-generated warning message
    ; E_USER_NOTICE - user-generated notice message


    Danach Apache neustarten und es MUSS klappen
  • allerdings solltest du dir das auch wieder gut überlegen, eine solche ausgabe auf deinem "Produktiv Webserver" kann auch schnell zur sicherheitslücke werden...

    sinnvoller wäre es doch ordentlichen code zu erzeugen (bei dem keine fehler auftauchen) und dann die sache auf diesem server zu testen.

    vorrausgesetzt das die versionsunterschiede zwischen test und produktiv server nicht zu gravierend sind (wie z.b. php4 auf produktiv und php5 auf test server)

    und wenn du die einstellungen ändern solltest, vergiss nicht diese wieder rückgänig zu machen, bzw fehler in eine nicht öffentliches log zu speichern.

    wäre ja auch sinnfrei du aktivierst das error reporting und am ende unterdrückst die fehlerausgabe wieder mit @ ^^


    so long da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • @ unterdrückt nicht alles...

    Stichwort Exceptions (try&catch)...

    Aber auf einen produktiven Server würde ich auch alles ausschalten.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • HI!

    Merci für all die Antworten ... Donut .... ich habe wohl alle Einstellungen zum Error Handling beachtet .... :)

    Gehen tut es immer noch nicht, aber ich hatte mir zwischenzeitlich auch selbst dazu Gedanken gemacht und werde es nun wohl wie von Bendit vorgeschlagen machen ... Testen und entwickeln aufm Testsystem und dann erst die finale Version auf dem Produktiv anwenden.

    so long,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0