I am working with Zend framework and just hate the fact that I seem to encounter hundreds of exception errors like if I try to reference a non existant property of an object my application just dies and crashes. However I have no idea where to see these errors or how to be able to display them on screen. I’ve set display errors to true and error reporting to E_ALL but when an error is thrown all I see is a blank page rendered only until a bit before where the error apparently occurred or the exception was thrown.
Advertisement
Answer
What’s the value of the APPLICATION_ENV environment variable.
The standard public/index.php in a ZF application does the following:
// Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
This means that if no APPLICATION_ENV is set, the environment is set as “production”. If you look at your application.ini file, you’ll see that the framework suppresses errors if the environment is production.
Of course, you’re developing, so you want to use the ‘development’ environment.
If you’re running under Apache/mod_php, you can set this in your httpd.conf, or an .htaccess file:
SetEnv APPLICATION_ENV development
Or you could always get ugly and hack away at your public/index.php:
// Define application environment /*defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));*/ // Ugly hack because I'm too lazy to properly set up my environment. define('APPLICATION_ENV','development');