当前位置:首页 > PHP教程 > 正文内容

nginx php-fpm 输出php毛病日记【php教程】,nginx,php-fpm

搜教程4年前 (2019-12-01)PHP教程190

nginx是一个web服务器,因而nginx的access日记只要对接见页面的纪录,不会有php 的 error log信息。

nginx把对php的要求发给php-fpm fastcgi历程来处置惩罚,默许的php-fpm只会输出php-fpm的毛病信息,在php-fpm的errors log里也看不到php的errorlog

原因是php-fpm的设置文件php-fpm.conf中默许是封闭worker历程的毛病输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的毛病日记。

调试起来就很痛苦了。处理nginx下php-fpm不纪录php毛病日记的方法:

1.修正php-fpm.conf中设置 没有则增添

catch_workers_output = yes
error_log = log/error_log

2.修正php.ini中设置,没有则增添

log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE

3.重启php-fpm
当PHP实行毛病时就可以看到毛病日记在"/usr/local/lnmp/php/var/log/error_log"中了

请注意:

1. php-fpm.conf 中的php_admin_value[error_log] 参数 会掩盖php.ini中的 error_log 参数
所以确保你在phpinfo()中看到的终究error_log文件具有可写权限而且没有设置php_admin_value[error_log] 参数,不然毛病日记会输出到php-fpm的毛病日记里。

2.找不到php.ini位置,运用php的phpinfo()效果检察

3.怎样修正PHP毛病日记不输出到页面或屏幕上
修正php.ini

display_errors = off //不显现毛病信息(不输出到页面或屏幕上)
log_errors = on //纪录毛病信息(保存到日记文件中)
error_reporting = E_ALL //捕捉一切毛病信息
error_log = //设置日记文件名

顺序中修正以上设置

ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日记文件名>")
ini_set("log_errors",1);

4.怎样将php的毛病日记输出到nginx的毛病日记里
在PHP 5.3.8及之前的版本中,经由过程FastCGI运转的PHP,在用户接见时涌现毛病,会首先写入到PHP的errorlog中
假如PHP的errorlog没法写入,则会将毛病内容返回给FastCGI接口,然后nginx在收到FastCGI的毛病返回后纪录到了nginx的errorlog中
在PHP 5.3.9及以后的版本中,涌现毛病后PHP只尝试写入PHP的errorlog中,假如失利则不会再返回到FastCGI了,毛病日记会输出到php-fpm的毛病日记里。
所以假如想把php毛病日记输出到nginx毛病日记,须要运用php5.3.8之前的版本,而且设置文件中php的error_log关于php worker历程不可写。

更多PHP相干学问,请接见ki4网!

以上就是nginx php-fpm 输出php毛病日记的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15664.html

标签: nginxphp-fpm
分享给朋友:

“nginx php-fpm 输出php毛病日记【php教程】,nginx,php-fpm” 的相关文章

PHP怎样完成插入排序?【php教程】,PHP插入排序

PHP怎样完成插入排序?【php教程】,PHP插入排序

插入排序是一种简朴的排序算法,能够一次构建终究排序的数组(或列表)。与大多数高等算法(如疾速排序,客栈或兼并排序)比拟,它在大型列表上的效力要低很多。 插入排序的图形示例: PHP插入排序的代码示例以下: <?php function insertion_Sort($m...

php中curl接见https与CA证书(代码示例)【php教程】,php

本篇文章给人人带来的内容是关于php中curl接见https与CA证书(代码示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 CA证书,用来在挪用HTTPS资本的时刻,考证对方网站是不是是CA公布的证书,而不是本身随意生成的 curl敕令1.须要下载CA证书 文件地点是...

PHP盘算地球上两点之间的间隔(示例详解)【php教程】,PHP,两点间距离

PHP盘算地球上两点之间的间隔(示例详解)【php教程】,PHP,两点间距离

给定经度和纬度,求地球上两点之间的间隔。起首我们须要相识该题目的处置惩罚思绪,然后再用PHP代码来完成盘算。 此题目可以用半正矢(haversine)公式求解: 大圆间隔或正交间隔是球面(或地球表面)上两点之间最短的间隔。为了运用这类要领,我们须要有点A和点B的坐标。大圆法优于其他要领。...

PHP怎样运用extract()函数将数组转换为变量?【php教程】,PHP,extract()

PHP怎样运用extract()函数将数组转换为变量?【php教程】,PHP,extract()

extract()函数是PHP中的一个内置函数;该函数能够将数组转换为多个变量。下面本篇文章就来带人人相识一下PHP中怎样运用extract()函数,愿望对人人有所协助。【视频教程引荐:PHP教程】 PHP extract()函数 extract()函数实行数组到变量转换,即它将数组键转...

php intval函数怎样用?【php教程】,php intval函数

本篇文章主要给人人引见 php intval函数怎样用,那末 intval()函数是PHP中的内置函数,它返回变量的整数值。 语法: int intval ( $var, $base ) 参数: 此函数接收两个参数,个中一个是必须的,而另一个是可选的。 参数以下所述: $var...