IIS 7.5 在哪里记录错误?
Posted
技术标签:
【中文标题】IIS 7.5 在哪里记录错误?【英文标题】:Where does IIS 7.5 log errors? 【发布时间】:2011-06-13 10:46:21 【问题描述】:事件查看器? 日志文件?
我收到一个非常非特定的内部 500 错误。我想了解更多。
我正在运行 php,我按照 this last comment 在这篇文章中所说的做了。但它仍然没有登录到C:\windows\temp
文件夹。
【问题讨论】:
这可能也应该用“iis”标记。参见例如Should I not use the generic tag if my solution is limited to a specific version?. 这在 Windows 上与 Linux 可能有很大不同,但是对于定位 PHP 错误日志,规范是 Where does PHP store the error log? (PHP 5, Apache, FastCGI, and cPanel)(尽管标题过于具体)。那里描述的一些通用方法也适用于 Windows。 【参考方案1】:要报告 Event Viewer 中的错误,请转到您的 php.ini 文件并确保日志记录已打开。
log_errors = On
然后启用error_log
写入syslog
(在Windows 机器上使用事件查看器)
error_log = syslog
【讨论】:
我想知道为什么这会有用..它不会穿插许多其他操作系统/应用程序日志吗? @SandipGangakhedkar - 这是用户的偏好。我个人喜欢有一个单独的日志文件。但是有些人使用网络监控工具,他们只查看事件查看器或系统日志。 您还需要确保正确设置error_reporting
和log_errors_max_len
。例如。 error_reporting=-1
, log_errors_max_len=0
.
@NeerPatel,我们如何将其设置为 服务器日志 而不是 syslog
(事件查看器)?通过服务器日志,我的意思是 IIS 当前设置的任何设置。
@Pacerier - 通过服务器日志,您是指文本文件吗?如果是这样,请这样做:error_log = C:\TEMP\PHP.LOG
【参考方案2】:
对于 PHP v5.3,请看这里:
C:\Windows\Temp\PHP53_errors.log
【讨论】:
【参考方案3】:在我的 IIS 7.5 服务器上,我在底部的 php.ini 文件中找到了这段代码。
[WebPIChanges]
error_log=C:\Windows\temp\php54_errors.log
upload_tmp_dir=C:\Windows\temp
session.save_path=C:\Windows\temp
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0
max_execution_time=300
date.timezone=Australia/Canberra
extension_dir="C:\Program Files (x86)\PHP\v5.4\ext\"
我不确定是否需要上述所有代码,因为我不擅长使用 php.ini 文件,但我可以确认错误日志文件可以访问并且可以正常工作。
如果有人想知道,此修复仍然需要以下内容。
log_errors = on
error_log = syslog
【讨论】:
【参考方案4】:我曾经遇到过 PHP 解释器无法写入错误日志的问题。我将 IUSR 用户添加到具有读写和修改权限的文件的安全权限(右键单击文件、属性、安全选项卡)中,然后能够在日志文件中看到 PHP 错误。
【讨论】:
我在 Windows Server 2012 上测试了它与II_IUSRS
一起使用。IUSR
由于某种原因不起作用。【参考方案5】:
在 IIS 中的站点设置上应该有一个“日志记录”图标。
如果您没有更改目录,它看起来默认为%SystemDrive%\inetpub\logs\LogFiles
查看您的设置,我还建议在您的站点文件上方创建一个日志文件夹,以保持您的日志分开。
【讨论】:
那些是访问日志。我正在寻找错误日志。不过还是谢谢。 或systemroot\System32\LogFiles\HTTPERR以上是关于IIS 7.5 在哪里记录错误?的主要内容,如果未能解决你的问题,请参考以下文章