百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP 差错与异样的日志记载
分享文章到:

PHP 差错与异样的日志记载

发布时间:09/01 来源:未知 浏览: 关键词:
提到 Nginx + PHP 效劳的错误日志,我们平常能想到的有 Nginx 的 access 日志、error 日志乃至 PHP 的 error 日志。虽然看起来是个很简便的问题,但里面其实又牵扯到利用配置乃至日志记载位置的问题,假如是在 ubuntu 等系统下使用 apt-get 的方式来安置,其自有一套较为合理的的配置文件可用。再者运转的利用程序中的配置也会影响到日志记载的方式及内容。

错误与非常的不同

关于错误与非常,我们可以用一个简便的例子来懂得:

<?php
try {
    1 / 0;
} catch (Exception $e) {
    echo "catched", PHP_EOL;
}

施行这个小示例会直接得到一个『PHP Warning: Division by zero …』错误。缘由很简便:这是逻辑错误,并不是非常,所以不克不及被 try 捕捉。一样,关于变量使用前不决义这种问题,也是一样的会发生 warning 而不是被捕捉。

但是这个问题在 PHP7 中却有了一些改动,比方上面的例子中我把 / 改成 %,在 PHP7 的环境中施行会得到一个不一样的提醒:

PHP Fatal error: Uncaught DivisionByZeroError ...

按照这个提醒,假如我把 catch 中的前提修改一下:

<?php
try {
    1 / 0;
} catch (DivisionByZeroError $e) {
    echo "catched", PHP_EOL;
}

这样就可以正常捕捉到错误并输出 catched 了。

关于第一个示例,一样假如把 Excepiton 修改为 ErrorException 也可以正常捕捉。

至于为什么求余和除法,在 PHP5 中提醒一致而在 PHP7(我的测试环境是 7.0.4) 中除法不属于 DivisionByZeroError 的问题,这应当是个 BUG。

日志的记载

PHP 本身可配置的 log 大约有以下几个:

● php-fpm error log(php-fpm.conf 中配置,记载 php-fpm 进程的启动和终止等信息)

● php-fpm slow log(也是在 php-fpm.conf 中配置,记载慢施行)

● php error log(php.ini 中配置,记载利用程序的错误日志)

此外 Nginx 还有两个可配置的log:access 和 error log。这几个日志文件的功效不一样,记载的内容也不一样。但其中有一个点需要留意:假如配置了 php-fpm 中的 error log 位置,但日志位置不成写(配置时位置得是对的,由于 php-fpm 启动时会做检查),在恰当的配置前提下错误日志会被返回到 cgi 中从而写入 nginx 的 error log 中。

所以碰到问题是我们一样的查寻思绪都是:

1.到 Nginx access log 中查看恳求的状态码

2.查看 php error log 中的错误记载乃至 stack 信息

3.查看 php-fpm log 中有无非常重新启动记载(假如中心或者扩展问题,会显现此状况)

但是在以上几种状况下你也会发明,这里面并没有上文提到的程序抛出非常的日志记载。

非常记载

非常不一样于错误,严厉上说它是利用程序逻辑的非常而不是错误,是可以通过合理的程序逻辑来手动触发的。但大多状况下非常也是要停止记载的,比方数据库没法连接或者框架的不妥使用触发的非常,我们需要通过日志来定位问题并及时处置。

PHP 供给了两个函数用于自定义处置错误和非常的办法:

● set_error_handler

● set_exception_handler

所以可以通过 set_exception_handler 函数注入办法捕捉所有的非常并记载 。

monolog 是一个优异的非常记载的库,也是基于 PSR-3 标准的实现。Laravel、Symfony 中默许也是使用它来记载非常。如有需要,也可以思考在本人的项目中引入。

以上就是PHP 错误与非常的日志记载的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板