最近在本地搭建的LNMP的开发环境。为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示。但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题
nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。
在nginx中事情就变成了这样: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中的配置,如果没有请增加:
[global]
; Note: the default prefix is /usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes
2.修改php.ini中配置,没有则增加:
log_errors = On
error_log = "/usr/local/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
3.重启php-fpm
当PHP执行错误时就能看到错误日志在”/usr/local/lnmp/php/var/log/php_error_log”中了
如果出现:
[root@localhost etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry 'catch_workers_
[17-Apr-2014 18:40:52] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[17-Apr-2014 18:40:52] ERROR: FPM initialization failed
failed
那请在第一步的时候,认真将配置写入相对应的组中,不然就出现上面的:
ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output'
最后看看效果:
分享到:
相关推荐
装完了nginx和php-5.5,配置好了nginx调用php后,就开始启动php-fpm。 使用下面的命令 代码如下:/usr/local/php/sbin/php-fpm 就可以启动了。 在nginx的目录中创建个php的检测脚本index.php 结果在打开...
php-fpm 和 Nginx 的所有日志(访问和错误)都转发到 docker 日志。 图像变体 这是可与 PrivateBin 支持的任何存储后端一起使用的多合一映像:基于文件的存储、数据库或 Google 云存储。 我们还为每个后端提供专用...
: 建立在轻量级且安全的Alpine Linux发行版上很小的Docker映像大小(+/- 35MB) 使用PHP 7.4获得更好的性能,更低的CPU使用率和内存占用针对100个并发用户进行了优化经过优化,仅在有流量时才使用资源(通过使用PHP-...
当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时。 php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 代码如下:; The timeout for serving a ...
本文实例讲述了PHP-FPM 设置多pool及配置文件重写操作。分享给大家供大家参考,具体如下: 重写配置文件 1、清空php配置文件 ...# 错误日志路径、可以不填 error_log = /usr/local/php/var/log/php-fpm.log # www虚
PHP-FPM 和 Nginx Docker 镜像基于对(最新)... 非常新的包 (alpine:edge) 2015-04-03: 5.6.7 1.6.2用法sudo docker run -v /data:/DATA -p 80:80 psitrax/php-nginx卷结构htdocs : Webroot logs :Nginx/PHP 错误日志
背景和初步排查 订单业务对账时报警了,有笔订单在我们自己的mongo库里没有找到 业务接口 /3/xx/vgift/send 调用礼物系统 sendPresent 接口完成送礼, ... 那就去看下php-fpm 的日志,看对应的时间点有没有什么异常
检查了php-fpm日志,发现是php-fpm子进程不知道为什么会崩溃,然后把opcache关了就正常。中间折腾的过程就不提了,总之最后发现应该是和另外一个扩展 zend guard冲突导致的,搞笑的是,只要我把php.ini中[zend guard...
变更日志 用法 使用MySQL 使用SQLite 配置 一般的 上载 电子邮件 商标 皮肤 扩展名 HTTPS 附加配置 配置文件 表现 配置参考 扩展此图像 安全 贡献 执照 支持的标签 1.30 (Dockerfile) 1.29 (Dockerfile) ...
PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比...
nginx错误日志解析器 用于解析和创建用于nginx错误日志的结构化json的简单工具。 它还实现了对日志的解析,实现更好的日志记录和WAF实施。为什么因为Nginx本机不支持JSON格式的error_log。下载使用下载最新的二进制...
角色php-fpm 对于Freebsd和Debian 使用“站点”配置安装php-fpm和一个或多个池。 每个站点调用Web服务器角色(默认情况下为nginx)以创建HTTP confphp.ini 在templates / php.ini.j2中有一个默认的php.ini。 CLI特定...
PHP fpm运行状况检查脚本随着容器... 一个很好的例子是它确实运行良好,但是我想实现其他一些功能,例如使用官方映像及其发布周期,属于自己进程的日志,而不是混合使用,我不喜欢依赖Supervisord,因为我在过去,以及
├─2.01 Nginx进阶常见配置-虚拟主机+PHP-FPM.mp4 ├─2.02 Nginx进阶-常见配置-反向代理.mp4 ├─2.03 Nginx进阶基础-常见配置-反向代理.mp4 ├─2.04 Nginx进阶基础-upstream.mp4 ├─2.05 Nginx进阶基础-常用...
apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现”504 Gateway Time-out”查看错误日志也看不到任何东西,以为是apache的bug(其实不是,下面会说原因)。 也许年龄大了人就不爱折腾,愿意保持原状...
慢日志,记录脚本运行所导致的异常缓慢 可以监听不同的端口和使用不同的 php.ini 几个概念的理解 1)、CGI CGI全称“公共网关接口”(Common Gateway Interface),是HTTP服务器与其它机器上的程序进行通信的接口,...
根据nginx日志: 代码如下: connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable) 发现phpfpm的listen是unix sock方式运行的,问题可能出在php fpm上。php fpm配置文件里有...