Iis-6

在 IIS6 上使用 FastCGI 的 PHP 的行為與 ISAPI 不同

  • February 23, 2011

我正在使用在 Windows Server 2003、IIS 6 上執行的 Moodle 1.9。我正在嘗試從 PHP 的 ISAPI 擴展切換到 FastCGI,希望能夠提高速度。

我為 IIS 6 安裝了 FastCGI,並為 PHP 配置了它。它很有效,事實上大多數 Moodle 都很好用。唯一沒有的是首頁。作為 FastCGI 執行時,我收到此錯誤:

PHP 注意:未定義索引:C:\Inetpub\wwwroot\moodle\lib\magpie\rss_parse.inc 中的描述在第 402 行

所以我想,“嗯,這很奇怪,我不應該有那種問題”,所以我切換回 ISAPI,期待問題仍然存在。問題消失了,首頁載入得很好!所以,我再次切換到 FastCGI,問題又回來了。

我在那裡研究了程式碼,果然,Magpie 開發人員在使用它之前沒有檢查他們的數組索引之一。然而,這不是這裡的問題,因為無論我以哪種方式訪問 PHP,都會執行完全相同的程式碼。

我認為正在發生的是,FastCGI 和 ISAPI 版本的 PHP 對錯誤的處理方式不同。使用 ISAPI,上面的簡單通知會被忽略,而使用 FastCGI,它們似乎會被輸出並停止執行。

那麼,有沒有地方可以定義這種錯誤處理行為呢?或者,還有什麼可以解釋我所看到的?

感謝您的時間。

解決了!我在我的 PHP.ini 中找到了fastcgi.logging設置並將其設置為 0。

; Disable logging through FastCGI connection
fastcgi.logging = 0

引用自:https://serverfault.com/questions/224721