You are not logged in.

  • Login

1

Monday, March 26th 2007, 10:17am

php.ini - Alle Fehlermeldungen ausgeben

Hi zusammen,

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

PHP Quellcode

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


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

2

Monday, March 26th 2007, 10:46am

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

3

Monday, March 26th 2007, 1:58pm

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:

Quoted

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*

4

Monday, March 26th 2007, 3:46pm

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

Quoted

; 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

5

Monday, March 26th 2007, 4:05pm

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

6

Monday, March 26th 2007, 4:10pm

@ unterdrückt nicht alles...

Stichwort Exceptions (try&catch)...

Aber auf einen produktiven Server würde ich auch alles ausschalten.

7

Monday, March 26th 2007, 4:39pm

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

8

Monday, March 26th 2007, 5:25pm

aber wie gesagt, wenn die software nicht exakt die selbe ist wie auf dem test system, dann prüfe es trotzdem noch mal MIT error reporting... sonst suchst dich tot falls dennoch ein fehler auftritt (glaub mir ;)

Similar threads

Social bookmarks