• 技术文章 >后端开发 >PHP问题

    php apache 错误日志如何开启

    藏色散人藏色散人2020-10-20 10:06:20原创975

    php apache错误日志的开启方法:首先修改php-fpm.conf中的配置;然后修改php.ini中配置为“log_errors = On”;最后重启php-fpm即可。

    推荐:《PHP视频教程

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

    最近在本地搭建的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'
     
     
    apache
     
    display_errors

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

    display_errors = On

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

    dispaly_errors = Off

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

    log_errors

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

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

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

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

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

    以上就是php apache 错误日志如何开启的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php apache
    上一篇:windows 下如何安装php redis 下一篇:lnmp环境下如何开启php错误日志
    线上培训班

    相关文章推荐

    • php 如何屏蔽错误• php怎么调试错误• linux下如何查看php错误日志的位置• apache如何设置显示php错误

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网