IIS PHP不会将错误logging到日志文件中

我本地的Windowsnetworking服务器(IIS)不loggingphp错误日志文件。php53_errors.log文件总是空的。 http://prntscr.com/2aels如何解决它? 我认为权限设置出了问题。 但它显示在浏览器窗口上的错误。 还有一个问题:像“未定义的索引”这样的通知。它们真的很重要吗?

阅读你问题的最后一部分:

像“未定义的索引”的声明..他们真的很重要吗?

这取决于你对“重要”的定义。

简单的答案是不,他们不重要。 这就是他们被列为通知而不是警告的原因。 忽略它们是可以的。

但是,您仍然应该注意它们,并尽可能地修复它们。

例如,您引用“未定义索引”的通知。 这是由于(我敢肯定你知道)通过引用尚未定义的数组元素。

最好的做法是避免使用isset()提出这个通知,因为如果你这样做的话,那么当你仍然得到通知的时候,你会知道这是很重要的 – 也许你在你的变量名中做了一个拼写错误,数组索引? 代码仍然会运行,但不能正常工作,得到通知可能是你的第一个线索。 如果这个通知被合法的通知压制或淹没,你永远不会发现。

PHP提出的大多数“通知”都与之类似 – 它们表明某些东西可能是错的,但是PHP并不知道。 如果您在防守方面编写代码以防止在您对代码感到满意时引发通知,那么您可以承担更多的注意力。

希望有所帮助。

在IIS服务器管理器工具中,有选项调用错误页面。 请禁用使用IE错误页面来显示错误。

另外请到C:\inetpub\wwwroot\web.config这个文件控制如何显示和记录错误。 它应该有这样一行。 <httpErrors errorMode="Detailed" />

你有没有根据这个正确的设置php.ini?

http://php.net/manual/en/install.windows.manual.php

特别是键log_errorserror_log