Keine Fehlermeldungen in PHP 5

Keine Fehlermeldungen in PHP 5

am 28.10.2006 08:59:42 von wolfgang

Liebe PHP-Spezialisten,

während in PHP 4 ein Schreibfehler, z.B. ein fehlendes
Semikolon am Ende eines Statements, mit einer Meldung der Art

       parse error in /test/example.php on line 14

quittiert wurde, erzeugt PHP 5 in solchen Fällen keinerlei
Output mehr und gibt einem somit nicht den geringsten Hinweis
zur Lokalisierung des Fehlers. Gibt es eine Abhilfe oder bleibt
mir nur der Downgrade zu PHP 4?

Vielen Dank im voraus,
Wolfgang

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 09:53:00 von sk

Wolfgang schrieb:

Was steht denn in der php.ini bei "error_reporting"?

Da sollte so was ähnliches stehen wie:

error_reporting = E_ALL & ~E_NOTICE

Die genauen Einstellungen kannst du unter
http://de.php.net/manual/de/function.error-reporting.php nachlesen

Jörg

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 11:35:52 von Gregor Kofler

Jörg Singendonk meinte:
> Wolfgang schrieb:
>
> Was steht denn in der php.ini bei "error_reporting"?
>
> Da sollte so was ähnliches stehen wie:
>
> error_reporting = E_ALL & ~E_NOTICE
>
> Die genauen Einstellungen kannst du unter
> http://de.php.net/manual/de/function.error-reporting.php nachlesen

Evtl. auch besonderes Augenmerk auf:
http://de.php.net/manual/en/ref.errorfunc.php#ini.display-er rors

Gruß, Gregor


--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 12:08:50 von wolfgang

On Sat, 28 Oct 2006 07:53:00 GMT, Jörg Singendonk wrote:
>
> Was steht denn in der php.ini bei "error_reporting"?
>
> Da sollte so was ähnliches stehen wie:
>
>    error_reporting = E_ALL & ~E_NOTICE

Da fehlte bei mir der Zusatz "& ~E_NOTICE". Aber die Korrektur
brachte keinen Erfolg, weil es hier darum geht, ob nur fatale
Fehler oder auch Warnungen angezeigt werden.

Bei mir war dagegen, wie ich inzwischen herausgefunden habe, die
Fehleranzeige als solche, unabhängig von der Schwere des Fehlers,
abgeschaltet. Endgültige Abhilfe brachte dann die Ersetzung von
"Off" durch "On" in der Zeile "display_errors = Off".

Trotzdem vielen Dank; denn erst Deine Antwort hast mich auf die Idee
gebracht, das File php.ini genauer zu studieren. Dort sind nämlich
alle Einstellungen knapp und wirklich leicht verständlich erklärt.

Ciao, Wolfgang

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 12:46:43 von Michael Fesser

..oO(Wolfgang)

>On Sat, 28 Oct 2006 07:53:00 GMT, Jörg Singendonk wrote:
>>
>> Was steht denn in der php.ini bei "error_reporting"?
>>
>> Da sollte so was ähnliches stehen wie:
>>
>>    error_reporting = E_ALL & ~E_NOTICE
>
>Da fehlte bei mir der Zusatz "& ~E_NOTICE".

Auf einem Entwicklersystem gehört der da auch nicht hin. Notices sollten
korrigiert und nicht unterdrückt werden.

Micha

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 12:58:20 von Gregor Kofler

Wolfgang meinte:

> Da fehlte bei mir der Zusatz "& ~E_NOTICE". Aber die Korrektur
> brachte keinen Erfolg, weil es hier darum geht, ob nur fatale
> Fehler oder auch Warnungen angezeigt werden.

E_NOTICE sollte auch (bei der Entwicklung) nicht abgedreht sein -
Notices weisen immer auf potentielle Fehlerquellen (und unsaubere
Programmierung) hin.

Gregor

--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 19:09:37 von wolfgang

On Sat, 28 Oct 2006 10:58:20 GMT, Gregor Kofler wrote:
>
> E_NOTICE sollte auch (bei der Entwicklung) nicht abgedreht
> sein - Notices weisen immer auf potentielle Fehlerquellen
> (und unsaubere Programmierung) hin.

Das ist offenbar auch die Meinung der PHP-Entwickler, wie man
in /etc/php5/apache2/php.ini nachlesen kann:

; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
;     By default, PHP surpresses errors of type E_NOTICE.
;     These error messages are emitted for non-critical
;     errors, but that could be a symptom of a bigger problem.
;     Most notably, this will cause error messages about the
;     use of uninitialized variables to be displayed.

Nach diesem überzeugenden Plädoyer für den Nutzen von E_NOTICE,
versteht man nicht, warum dieser nützliche Parameter "by default"
unterdrückt wird. Eine seltsame Logik!

Wolfgang

Re: Keine Fehlermeldungen in PHP 5

am 28.10.2006 21:53:12 von Holger Pollmann

Wolfgang schrieb:

> ;     Most notably, this will cause error messages about the
> ;     use of uninitialized variables to be displayed.
>
> Nach diesem überzeugenden Plädoyer für den Nutzen von E_NOTICE,
> versteht man nicht, warum dieser nützliche Parameter "by default"
> unterdrückt wird. Eine seltsame Logik!

Nein, im Gegenteil. Stell dir mal vor, du kommst auf eine Internetseite
und liest sowas wie

Notice: Use of uninitialized variable expose_all_passwords

oder so. GERADE die Benutzung von Variablen vor ihrer Initialiserung in
Verbindung mit register_globals = on kann dann sehr gefährlich sein...

--
( ROT-13 if you want to email me directly: uvuc@ervzjrexre.qr )
"Das saarl. VwVfG läßt eine Interpretation deutscher Gesetze nur dann
zu, wenn sie nicht eindeutig sind." Manfred Saar, Präsident
Apothekerkammer d. Saarlandes. heute-journal v. 8. August 2006.

Re: Keine Fehlermeldungen in PHP 5

am 29.10.2006 11:19:04 von Joerg Behrens

Wolfgang schrieb:
> Liebe PHP-Spezialisten,
>
> während in PHP 4 ein Schreibfehler, z.B. ein fehlendes
> Semikolon am Ende eines Statements, mit einer Meldung der Art
>
> parse error in /test/example.php on line 14
>
> quittiert wurde, erzeugt PHP 5 in solchen Fällen keinerlei
> Output mehr und gibt einem somit nicht den geringsten Hinweis
> zur Lokalisierung des Fehlers. Gibt es eine Abhilfe oder bleibt
> mir nur der Downgrade zu PHP 4?

Mit einem phpinfo() mal die Einstellung von display_errors ueberpruefen
und diese gegebenenfalls auf ON stellen. Des Weiteren kann PHP auch in
eine error.log loggen. In Kombination mit einem tail -f (gibts auch fuer
Windows) finde ich das zum entwickeln sinnvoller. Je nach HTML kann es
sein das du sonst die Fehlermeldung im Browser nicht zu gesicht bekommst.

Gruss
Joerg

Re: Keine Fehlermeldungen in PHP 5

am 29.10.2006 11:43:51 von Ulf Kadner

Joerg Behrens schrieb:

> Mit einem phpinfo() mal die Einstellung von display_errors ueberpruefen

Gut das Dus auch noch mal schreibst. ;-)

MfG, Ulf

Re: Keine Fehlermeldungen in PHP 5

am 29.10.2006 12:41:32 von Joerg Behrens

Ulf Kadner schrieb:
> Joerg Behrens schrieb:
>
>> Mit einem phpinfo() mal die Einstellung von display_errors ueberpruefen
>
> Gut das Dus auch noch mal schreibst. ;-)
>

Ich hatte ueberlesen das er es nach einiger Zeit selber heraus gefunden
hatte.... die ersten Postings waren da nicht drauf eingegangen obwohl es
mir die naheliegenste Loesung erschien.

Gruss
Joerg


--
TakeNet GmbH http://www.takenet.de
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025