Ossi Ossi - 2 months ago 15
MySQL Question

Turn off warnings and errors on php/mysql

I am getting expected notices and warnings and would like to turn them off on my php file. errors are:

Warning: fsockopen()


and notices are:

Notice: A non well formed numeric value encountered in


I am planning to use cron for this php script and do not want to get any errors or notices logged anywhere.

Answer

When you are sure your script is perfectly working, you can get rid of Warning and notices like this: Put this line at the beginning of your php script:

error_reporting(E_ERROR);

Before that, when working on your script, i would advise you to properly debug your script so that all notice or warning disappear one by one. So you should first set it as verbose as possible with:

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

UPDATE : how to log errors instead of displaying them As suggested in the comments, the better solution is to log errors into a file so only the php developer sees the error messages, not the users. A possible implementation is via the .htaccess file, useful if you don't have access to the php.ini file (source).

# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
# enable PHP error logging
php_flag  log_errors on
php_value error_log  /home/path/public_html/domain/PHP_errors.log
# prevent access to PHP error log
<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>