Cliff Hirsch wrote:
The error handler on my production server has stopped working. I ran some
code to test it and am completely stuck. The trigger error line below works
just fine. But php isn¹t directing it¹s errors to the error handler.
blasasdfsdfgorg{; just stops dead. foobar(); which should also throw an
error since it doesn¹t exist, also doesn¹t get caught by the error handler.
Hi Cliff,

The two types of errors your having trouble with are the type that can't be handled easily with custom error handlers.

blasasdfsdfgorg(;
This makes a parse error. PHP won't get far enough to use your custom handler because it will just die. Manual <http://www.php.net/manual/en/function.set-error-handler.php> says: The following error types cannot be handled with a user defined function: *E_ERROR*, *E_PARSE*, *E_CORE_ERROR*, *E_CORE_WARNING*, *E_COMPILE_ERROR*, *E_COMPILE_WARNING*, and most of *E_STRICT* raised in the file where *set_error_handler()* is called.

foobar(); (the function that doesn't exist):
I never tried this myself, but this comment <http://www.php.net/manual/en/function.set-error-handler.php#73239> suggests that normal custom error handlers won't be able to catch this.

You might be expecting an error message on screen, however, or at least something besides a white page. If you're not getting it, it probably means that display_errors <http://www.php.net/manual/en/ref.errorfunc.php#ini.display-errors> is turned off.
Things were working until a few weeks ago and I can¹t think of any major
changes since then.
Is it possible you weren't testing for parse errors and "call to undefined function" errors back then?

- Allen

--
Allen Shaw
slidePresenter (http://slides.sourceforge.net)

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to