linux--->lnmp环境调试环境配置

lnmp环境调试环境配置

  • 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中配置,没有则增加
display_errors=on // 决定是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。
display_startup_errors=on //即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。
//参考:http://php.net/manual/zh/errorfunc.configuration.php#ini.display-errors
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
  • 3.重启php-fpm
    • 停止原先的php-fpm再重启,防止9000端口被占用
	[root@localhost init.d]# killall php-fpm
[root@localhost init.d]# service php-fpm start

参考:https://www.cnblogs.com/glory-jzx/p/3966082.html

原文地址:https://www.cnblogs.com/frankltf/p/8615942.html