logs php error but not display it in browser

2019-05-21 12:05发布

问题:

i want to create the error logs but not to display it in browser.

Currently when an error or warning/notice is occurs, then logs is created and error is displayed to the browser but i want to force the system to not show the error message in browser to the site visitor but create the logs for me.

Thanks

回答1:

Make sure you have something like this in your php.ini:

display_errors = Off
error_log = /var/log/php/error.log # Assuming you have /var/log/php directory and it's writable by httpd
error_reporting = E_ALL & ~E_DEPRECATED

Or set them as run-time options with ini_set()



回答2:

Add this to the top of your script:

//don't display errors
ini_set('display_errors', 0);
//write errors to log
ini_set('log_errors', 1);
//error log file name
ini_set('log_errors', '/var/log/php/error.log');

error_reporting(E_ALL);


回答3:

May be try

error_reporting(E_ERROR | E_PARSE);


回答4:

If you want log custom errors:

try {
    // your code here
} catch (Exception $e){
    error_log($e->getMessage(), $e->getCode(), $e->getFile().' Line '.$e->getLine());
}

else use user4035 way.