In an action method, I have the following excerpt of code:
error_reporting(E_ALL);
ini_set('display_errors', '1');
Logger::log('test');
The Logger class is defined in this way:
class Logger {
public static function log() {
echo "test";
}
I deliberately forgot the closing brace of the function to demonstrate the problem. When the action is called, absolutely nothing is rendered on the screen. What type of error is this, and why is it not displayed, even though I configured PHP to show all errors, as shown above?
Of course, if I add the missing brace, everything is OK.
You also have to enable
display_startup_errors
to show Fatal errors:Also see the Note for
display_errors
: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, includingE_STRICT
and any future additions.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: