2011-07-12 88 views
1

我的本地windows web服務器(IIS)不會將php錯誤記錄到日誌文件中。php53_errors.log文件始終爲空。 http://prntscr.com/2aels如何解決它?我認爲權限設置出了問題。但它顯示在瀏覽器窗口上的錯誤。還有一個問題:諸如「未定義索引」之類的聲明......它們真的很重要嗎?IIS PHP不會將日誌文件記錄到日誌文件

+0

http://prntscr.com/2aels截圖在哪裏? – Pacerier

回答

0

看了你的問題的最後一部分:

聲明,如 「未定義指數」 ..難道他們真的很重要嗎?

這取決於你對'重要'的定義。

簡單的答案是否定的,它們並不重要。這就是他們被歸類爲通知而不是警告的原因。忽略它們是可以的。

但是,您仍然應該注意它們,並儘量在可能的情況下修復它們。

例如,您引用了「未定義索引」的通知。這是由於引用一個尚未定義的數組元素而引起的(正如我確信你知道的那樣)。

最好的做法是防止通過使用isset()而引發此通知,因爲如果你這樣做了,那麼當你仍然得到通知時,你會知道這很重要 - 也許你在變量中犯了一個錯字名稱或數組索引?代碼仍然可以運行,但不能正常工作,並且獲得通知可能是您獲得的第一條線索。如果這個通知被合法的通知壓制或淹沒,你永遠不會發現它。

PHP提出的大多數'通知'都與之類似 - 它們表明某些東西可能是錯的,但PHP並不確定。如果您在防守方面編寫代碼以防止在您對代碼感到滿意時引發通知,那麼您可以承擔更多注意力,以防止仍然出現的問題。

希望有所幫助。

+4

你完全錯過了他的主要問題......解決IIS錯誤日誌。 – Pacerier

3

在IIS服務器管理器工具中,有選項調用錯誤頁面。請禁用以使用IE錯誤頁面向您顯示錯誤。

此外,請轉到C:\inetpub\wwwroot\web.config此文件控制如何顯示和記錄錯誤。它應該有這樣一行。 <httpErrors errorMode="Detailed" />

+1

請注意,服務器根目錄可能不是'C:\ inetpub \ wwwroot'。 – Pacerier