I am getting expected notices and warnings and would like to turn them off on my php file. errors are:
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.
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:
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>
Prepend functions with the '@' symbol to suppress certain errors, As opposed to turning off ALL error reporting.
PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.