[实践OK]在PHP文件里打开php报错的方法,打开错误报告,PHP里的PHP.ini里打开全局错误报告display_errors = On, 新版本的php 降低错误级别。
新版本的php 降低错误级别:
配置php.ini
打开php.ini,把display_errors = Off 改成 display_errors = On
然后找到 error_reporting 最好设置成
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
然后保存,重启apache
service php-fpm restart
Gracefully shutting down php-fpm . done
写到日志里面去的配置:
log_errors = On
error_log = /data/logs/php/php-cli-error.log
光是:Error_reporting(E_ALL);还不行,还得:ini_set('display_errors','On');
例子:
提示:
Warning: readfile(/tmp/up.php): failed to open stream: No such file or directory in /data/www/XXXX/up.php on line 54
于是整理好后:
下面是一个哥们写的博客:http://blog.linuxphp.org/archives/221/
php错误日志,适合异步调试和线上调试
ini_set("error_reporting",E_ALL ^ E_NOTICE);
ini_set("display_errors",off);
ini_set("log_errors",On);
ini_set("error_log","d:/c");
------------------附加两句解决错误的语句----------------------
@ini_set('memory_limit','500M');
@ini_set('max_execution_time', '180');
特别注意以下顺序才行,否则仍然不会报错的,哈哈:
如果是在linux terminal下运行,可以指定一个php.ini的配置文件,如下示例:
-c <path>|<file> Look for php.ini file in this directory
特别注意:
如果是包含关系的程序,包含好几个程序文件,如果再下级文件出现错误,而你仅仅在上级加入上面的两行,下级是不会报错的,于是还得在下级加入上面的两行才行,呵呵。真是麻烦,不过没办法,有时间线上故障,搬移线上服务,直接在线上调试的时候不得不这样,否则不会出现错误,很是郁闷,不知如何下手,有了这个麻烦事麻烦点,但是已经很好了!
小知识:获取ini里面的变量:
$_ENV['SERVER_TYPE'] = ini_get("phplib.servertype");
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这个是写在PHP.ini配置文件里的是:
display_errors = On
vi /usr/local/stow/php-5.2.5/lib/php.ini
error_get_last 救人老命,php就是高,哈哈 ,值得在线上调试的时候使用!
来自:来自:http://blog.csdn.net/shaobaojie/article/details/26934809
配置php.ini
打开php.ini,把display_errors = Off 改成 display_errors = On
然后找到 error_reporting 最好设置成
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
然后保存,重启apache
service php-fpm restart
Gracefully shutting down php-fpm . done
写到日志里面去的配置:
log_errors = On
error_log = /data/logs/php/php-cli-error.log
光是:Error_reporting(E_ALL);还不行,还得:ini_set('display_errors','On');
error_reporting(E_ALL ^ E_NOTICE);ini_set('display_errors','On');
例子:
提示:
Warning: readfile(/tmp/up.php): failed to open stream: No such file or directory in /data/www/XXXX/up.php on line 54
于是整理好后:
下面是一个哥们写的博客:http://blog.linuxphp.org/archives/221/
php错误日志,适合异步调试和线上调试
ini_set("error_reporting",E_ALL ^ E_NOTICE);
ini_set("display_errors",off);
ini_set("log_errors",On);
ini_set("error_log","d:/c");
------------------附加两句解决错误的语句----------------------
@ini_set('memory_limit','500M');
@ini_set('max_execution_time', '180');
特别注意以下顺序才行,否则仍然不会报错的,哈哈:
如果是在linux terminal下运行,可以指定一个php.ini的配置文件,如下示例:
-c <path>|<file> Look for php.ini file in this directory
特别注意:
如果是包含关系的程序,包含好几个程序文件,如果再下级文件出现错误,而你仅仅在上级加入上面的两行,下级是不会报错的,于是还得在下级加入上面的两行才行,呵呵。真是麻烦,不过没办法,有时间线上故障,搬移线上服务,直接在线上调试的时候不得不这样,否则不会出现错误,很是郁闷,不知如何下手,有了这个麻烦事麻烦点,但是已经很好了!
小知识:获取ini里面的变量:
$_ENV['SERVER_TYPE'] = ini_get("phplib.servertype");
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这个是写在PHP.ini配置文件里的是:
display_errors = On
vi /usr/local/stow/php-5.2.5/lib/php.ini
error_get_last 救人老命,php就是高,哈哈 ,值得在线上调试的时候使用!
来自:来自:http://blog.csdn.net/shaobaojie/article/details/26934809
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2661/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2021-7-27 11:51
评论列表