Search code examples
phposx-lionwsod

How can I enable PHP errors on OSX Lion?


I can't get my setup to display PHP errors. The only thing I see is the WSOD.

I've updated my php.ini file:

(excerpt from phpinfo())

display_errors          On      On
display_startup_errors  On      On
error_reporting         30719   30719

Any ideas?


Solution

  • If you're using the default installation of Apache in OSX you need to edit /etc/php.ini however if you're using a MacPorts install you will need to edit /opt/local/etc/php5/php.ini

    You state your phpinfo() is showing that errors are enabled. If they are not displaying they must be being overridden.

    Places to check

    • httpd.conf, httpd-vhosts.conf, and other config files in /etc/apache2/extras (not sure on MacPorts paths) - Look for php_value lines.
    • .htaccess files - Again look for php_value lines.
    • .user.ini files - PHP 5.3+ supports per directory configuration like Apache.
    • Your scripts themselves. They may implement custom error handlers that turn off error reporting with ini_set.

    You can try enabling at a script level using the following:

    ini_set('error_reporting', -1);
    ini_set('display_errors', 1);
    ini_set('html_errors', 1); // I use this because I use xdebug.
    
    0:: // My favourite kind of error.