In an action method, I have the following excerpt of code:
error_reporting(E_ALL);
ini_set(\'display_errors\', \'1\');
Logger::log(\'test\');
T
I have exactly the same problem - I didn't manage to completely solve it, but I found out that all errors are correctly logged to a file, even though they are not displayed.
Just put this lines in your .htaccess/server config:
php_value log_errors On
php_value error_log "/path_to_logs/errors.log"
You also have to enable display_startup_errors to show Fatal errors:
Even when
display_errors
is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keepdisplay_startup_errors
off, except for debugging.
Also see the Note for display_errors
:
Although
display_errors
may be set at runtime (withini_set()
), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.
You can set both values in Zend Framework's application.ini. On a sidenote: if you set error_reporting(-1)
it will report (!display) all errors, including E_STRICT
and any future additions.