2009-11-08 41 views
13

最近,我的ISP將我們的網站切換到IIS7.0高可用性集羣。該網站在PHP5.2.1上運行,我只能上傳文件(所以沒有註冊表調整)。我之前已經測試過網站,一切似乎都正常,但現在結帳頁面失敗:在IIS7集羣上運行的PHP上調試500內部服務器錯誤

500 - 內部服務器錯誤。 您正在查找的資源存在問題,並且無法顯示。

由於出現錯誤消息,這不是很有用的信息。我試過了:

ini_set('display_errors', 1); 
ini_set('error_log', $file_php_can_write_to); 

但是兩者似乎都沒有做任何事。

任何人都知道如何獲得更好的調試輸出?

回答

30

編輯:看起來我們有一個similar question in serverfault。檢查出來

關閉IIS7自定義錯誤將允許來自您的應用程序的錯誤響應發送到遠程客戶端,而不會被IIS7的自定義錯誤模塊審查。

您可以通過運行「開始>運行> inetmgr.exe」在IIS7管理工具中執行此操作,在左側樹視圖中選擇您的網站/應用程序/虛擬目錄,單擊「錯誤頁面」圖標,點擊「編輯功能設置」操作,然後選擇「詳細錯誤」

Source

+0

其實我使用Firefox。 – 2009-11-08 15:40:02

+0

這確實會改變一些情況,但現在我得到的是明文:「由於發生了內部服務器錯誤,無法顯示該頁面。」 – 2009-11-08 16:05:08

+2

+1我只是使用經典的asp,並遇到了這個...相同的答案適合我。 – 2012-08-09 20:50:39

-4

IIS做到這一點,這真是煩人,我無法找到一個解決方法,這是什麼原因造成我切換到Apache服務器爲我的本地機器。不幸的是,如果你不能控制你的服務器,你可以做的最好的方法是在apache上進行本地測試,或者讓你的主機允許錯誤信息。

我做了一些Google搜索,this這看起來像你所需要的。希望當我嘗試讓IIS運行時,

+0

我個人比較喜歡Apache,但這不像答案那樣有幫助。 – icedwater 2013-09-11 08:15:44

+1

建議一個替代的Web服務器不是很有幫助。如果OP沒有這種控制,該怎麼辦? – Clarkey 2015-06-26 12:36:44

1

當您更改服務器時無法加載您的應用程序是很常見的。我已經解決了這個問題,運行php.exe,而不是在瀏覽器上加載您的應用:

1)運行它使用命令行> C:\php\php.exe OR

2)運行Windows Explorer,尋找它,並c:\php\php.exe雙擊。

3)你會看到什麼DLL有衝突並導致500錯誤。

4)解決爲Windows版本尋找正確DLL的衝突,你應該能夠通過瀏覽器看到你的應用程序。

最好的lucks。

相關問題