[实践OK]在PHP文件里打开php报错的方法,打开错误报告,PHP里的PHP.ini里打开全局错误报告display_errors = On, 新版本的php 降低错误级别。

jackxiang 2010-1-31 17:49 | |
新版本的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');
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
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]