Home > PHP, Tips > error_reporting(E_ALL); make code faster

error_reporting(E_ALL); make code faster

September 14th, 2006 Leave a comment Go to comments

The single most important thing I tell people who use PHP is to turn error reporting to its maximum level. Why would I want to do this? Generally the error reporting is set at a level that will hide many little things like:

  • declaring a variable ahead of time,
  • referencing a variable that is not available in that segment of code, or
  • using a define that is not set

These factors might not seem like that big a deal — until you develop structured or object oriented programs with functions and classes. Too often, writing code with the error reporting turned up high would cost you hours as you scoured long functions that didn’t work because a variable was misspelled or not accessible.

PHP won’t tell you anything in that case it’ll just create the new variable for you and initialize it to zero. The remedy is to put the following line at the top of every PHP document as you develop:

error_reporting(E_ALL);

It simply forces the error reporting to be at its highest level. Try putting this line in other PHP programs, and more often than not you’ll receive a barrage of warning messages that identify all the potentially wrong elements of the code.

Eventually this when enabled, will force you to write cleaner, structured and fast code.

Categories: PHP, Tips Tags: , ,
  1. December 4th, 2008 at 07:59 | #1

    this doesnt work if display_errors is set to Off in php.ini, which it should be on a non-development server for security reasons.

    to overcome this you can enable display_errors, but this will show errors everywhere on the server.

    you can enable display_errors in a .htaccess file that is placed in the directory where the php script that you are debuging is.

    my favorite solution is to place the below code in the first line of you php document:

    ini_set(‘display_errors’, ‘On’);
    ini_set(‘error_reporting’, E_ALL);

    this will teporary enable complete errorr output, except if u have fatal errors.

    squeeze teh b00bies,
    eee

  2. December 21st, 2008 at 22:59 | #2

    Hey.. sure I have said that in the post also, that the error_reporting should be enabled in development..

  1. No trackbacks yet.

− six = three