Php

為什麼我會收到 500 內部伺服器錯誤?- IIS7 - 帶有 PHP 的 FastCgiModule

  • September 24, 2015

我從外部收到“500 - 內部伺服器錯誤”,本地連接給了我 500 錯誤以及更多調試資訊。問題似乎出在 FastCgiModule 上:

HTTP Error 500.0 - Internal Server Error
An unknown FastCGI error occured

Module  FastCgiModule
Notification    ExecuteRequestHandler
Handler PHP_via_FastCGI
Error Code  0x80070005

我通過強制執行 cgi 執行命令來測試連接:

"C:\Program Files (x86)\PHP\php-cgi.exe" <path to website>

那確實輸出了 PHP/HTML 程式碼,而不是 500 錯誤。我相信問題出在IIS上。伺服器在星期五啟動並執行良好,我知道沒有進行任何更改。重新啟動伺服器沒有任何改變,仍然顯示錯誤。

希望我將此提供給正確的網站/論壇。有人知道我為什麼會收到這個錯誤嗎?

編輯:添加 500 錯誤和“發生未知 FastCGI 錯誤”

500 錯誤可能是因為執行的使用者C:\Program Files (x86)\PHP\php-cgi.exe對包含您的 PHP 文件的目錄沒有適當的權限。

  1. 檢查服務管理器以查看哪個使用者正在執行此程序。
  2. 檢查 PHP 目錄和文件的安全 ACL。
  3. 確保 (1.) 中的使用者具有讀取/執行和列出目錄權限並將這些權限傳播到所有文件。

我有一個相同的錯誤消息,發現問題是缺少 dll,msvcr71.dll。我在Mysql下找到了這個dll的一個副本,複製到

C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\目錄,還有,以防萬一C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\etc目錄。

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