【问题标题】:Log errors to file (PHP + IIS6 + FastCGI + Win2003 Server)将错误记录到文件中(PHP + IIS6 + FastCGI + Win2003 Server)
【发布时间】:2012-08-16 01:20:15
【问题描述】:

虽然我已经阅读了很多关于这个问题的帖子和页面(如下所示),但我想我在这里遗漏了一些东西。主要问题是:我的 PHP 错误没有被记录到指定的文件或系统事件日志中

My phpinfo() shows: Windows Server 2003, PHP 5.3.6, log_errors = On, error_log = C:\\errorphp.log

我在 php.ini 中尝试了 error_log = C:\Inetpub\logs\php.logerror_log = syslog 都没有效果(一次一个)。

我有:

  1. 每次更改 php.ini 后重新启动 IIS
  2. 授予IUSR_XXXXX 用户修改文件夹和文件的权限
  3. 尝试将目录留空并让 PHP 创建文件
  4. 头疼。

非常感谢任何帮助。

参考:

【问题讨论】:

    标签: php iis-6 error-logging


    【解决方案1】:

    就我而言,设置

    fastcgi.logging = 1
    

    在 php.ini 中解决了这个问题,我现在确实可以使用日志文件(我将文件创建留给 php 本身,我的目录是空白的) p>

    我永远不会猜到就像 php.ini 本身所说的那样(就在所述配置的正上方)

    ;通过 FastCGI 连接禁用日志记录。 PHP 的默认行为是启用此功能。

    去图吧。

    【讨论】:

    • 这对我来说似乎不是一个好的解决方案。在错误测试页面上,我的服务器现在返回 500(内部服务器错误)。
    • marquito,您应该将您的 fastcgi 设置错误报告设置为“IgnoreAndReturn200”,这将让 PHP 处理错误。
    • @marquito,你是怎么知道是fastcgi.logging = 1的原因?
    • 男人……那是三年前的事了。只要我没记错,我就知道,因为我正在一个一个地更改配置,看看什么是有效的。
    【解决方案2】:

    你有

    • 检查了您的 error_reporting 级别
    • 尝试在文档根目录中设置一个日志文件(包括写入权限)以查看是否有任何限制?

    【讨论】:

    • 没有尝试过,但我尝试了其他方法,即设置fastcgi.logging = 1。它刚刚奏效。我不知道我必须更改此设置才能使日志记录正常工作。
    • 但是谢谢,穆勒。不过,我的解决方案并不好,因为它使服务器现在返回 HTTP 500(内部服务器错误)而不是空白页。
    猜你喜欢
    • 2018-07-19
    • 2023-03-31
    • 2013-08-12
    • 2011-10-03
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 2011-12-07
    • 2012-12-21
    相关资源
    最近更新 更多