Php

IIS6 + PHP + FastCGI 500 錯誤 - 從哪裡開始尋找?

  • April 7, 2010

我已經使用 FastCGI 設置了 IIS6 以使用 php-cgi.exe。

我有一些外部各方的 php 網站,我正試圖在測試環境中執行。

一個簡單的網站給了我一個 FastCGI 錯誤頁面。這不會發生在每個頁面上,它似乎只是發生在某些頁面上,而其他頁面則正確顯示。

  • 問題:有什麼方法可以在某處啟用日誌記錄,以便我可以獲得有關此問題的更多資訊?

我看過

  • 事件日誌
  • IIS 網站日誌 (c:\windows\system32\Logfiles)
  • PHP日誌

但沒有結果,除了 IIS 網站日誌提到返回 500 頁。

  • 問題:有沒有其他方法可以調試/檢查可能出錯的地方?

這是頁面的樣子:

FastCGI 錯誤

FastCGI 處理程序無法處理請求。錯誤詳情:

FastCGI 程序意外退出錯誤號:-1073741571 (0xc00000fd)。錯誤描述:未知錯誤 HTTP 錯誤 500 - 伺服器錯誤。網際網路資訊服務 (IIS)

回答

顯然,錯誤消息意味著堆棧溢出,因此調試是消息。我不是 PHP 開發人員,所以這是一個非常痛苦的過程。然而,我們將問題縮小到 Ajax 請求,但我想這可能發生在任何類型的請求中:

請求本身導致伺服器返回一個 500。用 Fiddler 嘗試了該請求後,我們發現 GET 請求中的 Cookie 條目包含一個 PHPSESSID 項。將其排除在外時,該請求確實有效。

所以這個問題的答案(在我們的例子中)是從請求中省略 PHPSESSID。現在剩下的就是弄清楚如何做到這一點:)

錯誤程式碼-1073741571 (0xc00000fd)表示堆棧溢出。您將需要調試您的程式碼。

嘗試在http://forums.iis.net上搜尋。他們似乎建議您嘗試升級 PHP,或者應用程序出現問題導致 PHP 或 fastCGI 程序崩潰。

祝你好運。

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