PHP: Stop Notice and Variable Warnings in Error Log Files

I‘m using PHP error logging in place of error displaying on production web sites. However, I do not want to see error messages about the use of uninitialized variables. I’d like to see all critical errors, except for notices and coding standards warnings. How do I disable error messages?

PHP provides various levels of error reporting using a bit-field as follows:

Error Bit Purpose
E_ALL All errors and warnings (doesn’t include E_STRICT)
E_ERROR Fatal run-time errors
E_WARNING Run-time warnings (non-fatal errors)
E_PARSE Compile-time parse errors
E_NOTICE Run-time notices (these are warnings which often result from a bug in your code, but it’s possible that it was intentional (e.g., using an uninitialized variable and relying on the fact it’s automatically initialized to an empty string)
E_STRICT Run-time notices, enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code.
E_CORE_ERROR Fatal errors that occur during PHP’s initial startup
E_CORE_WARNING Warnings (non-fatal errors) that occur during PHP’s initial startup
E_COMPILE_ERROR Fatal compile-time errors
E_COMPILE_WARNING Compile-time warnings (non-fatal errors)
E_USER_ERROR User-generated error message
E_USER_WARNING User-generated warning message
E_USER_NOTICE User-generated notice message

Show only errors

Open /etc/php.ini file
# vi /etc/php.ini

Set error_reporting as follows:

error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

Alternately, you can show all errors, except for notices and coding standards warnings

error_reporting = E_ALL & ~E_NOTICE

error_reporting = E_ALL & ~E_NOTICE

Save and close the file. Restart apache web server:
# /etc/init.d/httpd restart

If you are using nginx/lighttpd, try:
# service nginx reload
# service lighttpd restart

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.