第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > php apache 错误日志如何开启

php apache 错误日志如何开启

时间:2023-11-05 04:36:08

相关推荐

php apache 错误日志如何开启

后端开发|PHP问题

php,apache

后端开发-PHP问题

礼品网站源码,vscode更新失败就没了,ubuntu 大分区,tomcat关闭监听端口,反爬虫c,php 源代码压缩,全站优化seo多少钱,音乐网站副导航html,大气设计团队企业网站模板lzw

推荐:《PHP视频教学》

qq免费秒赞网站源码,ubuntu粘贴不了东西,tomcat+打印请求时间,初识python爬虫,Php有哪些依赖包,seo描述和seo关键字lzw

nginx和apache开启php错误日志记录

新闻cms源码,Ubuntu支持无线键盘,项目部署在tomcat位置,爬虫怎么翻译,php教程视频讲解交流,seo软件市场lzw

最近在本地搭建的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/varerror_log = log/php_error_log[www]catch_workers_output = yes

2.修改php.ini中配置,没有则增加:

log_errors = Onerror_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 restartGracefully shutting down php-fpm . doneStarting php-fpm [17-Apr- 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry catch_workers_[17-Apr- 18:40:52] ERROR: failed to load configuration file /usr/local/php/etc/php-fpm.conf[17-Apr- 18:40:52] ERROR: FPM initialization failedfailed

那请在第一步的时候,认真将配置写入相对应的组中,不然就出现上面的:

ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output apache display_errors

错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。

display_errors = On

开启状态下,若出现错误,则报错,出现错误提示

dispaly_errors = Off

关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示

log_errors

在正式环境下用这个就行了,把错误信息记录在日志里。正好可以关闭错误回显。

对于PHP开发人员来说,一旦某个产品投入使用,那么第一件事就是应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。

某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?

将PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。

当然也可以记录错误日志到指定的文件中。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。