【发布时间】:2011-10-03 10:50:17
【问题描述】:
我的本地 Windows 网络服务器 (IIS) 不会将 php 错误记录到日志文件中。php53_errors.log 文件始终为空。 http://prntscr.com/2aels 怎么解决?我认为权限设置出了点问题。但它在浏览器窗口上显示错误。还有一个问题:像“未定义索引”这样的通知……它们真的很重要吗?
【问题讨论】:
-
prntscr.com/2aels 的截图在哪里?
我的本地 Windows 网络服务器 (IIS) 不会将 php 错误记录到日志文件中。php53_errors.log 文件始终为空。 http://prntscr.com/2aels 怎么解决?我认为权限设置出了点问题。但它在浏览器窗口上显示错误。还有一个问题:像“未定义索引”这样的通知……它们真的很重要吗?
【问题讨论】:
你有没有按照这个设置正确的php.ini?
http://php.net/manual/en/install.windows.manual.php
特别是键 log_errors 和 error_log
【讨论】:
阅读问题的最后一部分:
诸如“未定义索引”之类的通知......它们真的很重要吗?
这取决于你对“重要”的定义。
简单的答案是否定的,它们并不重要。这就是它们被归类为通知而不是警告的原因。可以忽略它们。
但是,您仍然应该注意它们,并尝试在可能的情况下修复它们。
例如,您引用“未定义索引”的通知。这是由引用尚未定义的数组元素引起的(我相信您知道)。
最好的做法是使用isset() 防止发出此通知,因为如果您这样做,那么当您仍然收到通知时,您就会知道它很重要 - 也许您在您的变量名还是数组索引?代码仍会运行,但无法正常运行,收到通知可能是您获得的第一条线索。如果该通知被合法通知隐藏或淹没,您将永远不会发现它。
PHP 提出的大多数“通知”都与此类似——它们表明可能有问题,但 PHP 并不确定。如果您防御性地编写代码以防止在您对代码感到满意时发出通知,那么您可以更多地关注那些仍然突然出现的代码。
希望对您有所帮助。
【讨论】:
在IIS服务器管理器工具中,有选项调用错误页面。请禁用使用 IE 错误页面向您显示错误。
此外,请转到C:\inetpub\wwwroot\web.config,此文件还控制如何显示和记录错误。它应该有这样的一行。
<httpErrors errorMode="Detailed" />
【讨论】:
C:\inetpub\wwwroot。