2019年3月8日 星期五

【ASP.NET】HTTP 錯誤 500.21 - Internal Server Error 錯誤碼0x8007000d

HTTP 錯誤 500.21 - Internal Server Error

處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"



模組 IIS Web Core
通知 ExecuteRequestHandler
處理常式 PageHandlerFactory-Integrated
錯誤碼 0x8007000d 

學習記錄

             撰寫第一支程式,發生了錯誤訊息並記錄下來,希望能了解錯誤訊息,將它解決^^。
            

HTTP 錯誤 500.21 - Internal Server Error

處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"



模組IIS Web Core
通知ExecuteRequestHandler
處理常式PageHandlerFactory-Integrated
錯誤碼0x8007000d
可能原因

  • 使用 Managed 處理常式,卻未安裝 ASP.NET,或安裝不完整。
  • 處理常式模組清單的設定中有拼字錯誤。

解決方式
        重新安裝註冊FrameWork 版本4.0.30319,安裝完成後即可正常使用
安裝步驟(windows 7)
  1. 開啟命令提示字元(點滑鼠右鍵)以系統管理員身份執
  2. 輸入HTTP 錯誤 500.21 - Internal Server Error 

    處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"



    模組 IIS Web Core
    通知 ExecuteRequestHandler
    處理常式 PageHandlerFactory-Integrated
    錯誤碼 0x8007000d 

    學習記錄

                 撰寫第一支程式,發生了錯誤訊息並記錄下來,希望能了解錯誤訊息,將它解決^^。
                

    HTTP 錯誤 500.21 - Internal Server Error

    處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"



    模組IIS Web Core
    通知ExecuteRequestHandler
    處理常式PageHandlerFactory-Integrated
    錯誤碼0x8007000d
    可能原因

    • 使用 Managed 處理常式,卻未安裝 ASP.NET,或安裝不完整。
    • 處理常式模組清單的設定中有拼字錯誤。

    解決方式
            重新安裝註冊FrameWork 版本4.0.30319,安裝完成後即可正常使用
    安裝步驟(windows 7)
    1. 開啟命令提示字元(點滑鼠右鍵)以系統管理員身份執

    輸入%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i   

    1. 出現訊息如下圖1所示:
    2. 當你安裝完成後,如下圖2所示:
    3. 退出可以輸入  exit  
      

  3. 出現訊息如下圖1所示:
  4. 當你安裝完成後,如下圖2所示:
  5. 退出可以輸入  exit  

解决IIS7中出现An error occurred on the server when processing the URL错误提示的方法

相信用过IIS7的朋友在调试程序的时候都遇到过下面这样的错误提示:

    An error occurred on the server when processing the URL. Please contact the system administrator.If you are the system administrator please click here to find out more about this error.

    其实这是IIS7对ASP程序发送的一个脚本错误消息,只要是程序中有错误就会出现这样的错误提示,所以关键的一步是要将具体的错误显示出来,方法如下:

    1、打开控制面板→管理工具→Internet 信息服务(IIS)管理器→双击“ASP”图标,相关截图如下所示:

    2、在左边的窗口中找到你的网站,然后在右边的窗口中展开“调试属性”,把“将错误发送到浏览器”设为True即可,相关截图如下所示:

    此时你再运行ASP程序时就会看到具体的错误了,然后再根据错误提示进行相应的修改即可。

    小提示:在IIS7中请将父路径启用,否则只要你用到了父路径就会出现上面的错误了,启用父路径的设置在上面第二步的地方,上图中已经标出来了。

Windows Server 2008R2 64 bit + IIS 7.5 + PHP 32 bit

安裝及設定流程:
  1. 下載 PHP VC9 x86 ZIP 包 (thread safe 或 non thread safe 都可以),php各版本下載網址: https://windows.php.net/downloads/releases/archives/
  2. 下載 Microsoft Visual C++ 2008 SP1 可轉散發套件 (x86) (沒安裝這個最後要 run PHP 會收到 500 錯誤)
  3. 解壓縮 PHP 包到某個目錄
  4. 複製 php.ini-production 為 php.ini 到 c:\windows 下
  5. 設定 php.ini
  6. 伺服器新增 IIS 角色
  7. 應用程式開發安裝要勾選 CGI、ASP、ASP.NET
  8. 設定處理常式對應 FastCGI -> PHP
  9. 建立 PHP 32bit用的應用程式集區
  10. 完成
  11. 剩下就是關於 安全性、效能、Extension 的設定了
額外資訊:
Q. 為何不安裝 PHP 64 bit ?
A. PHP 資料型態長度會因為編譯的位元平台而有變化,integet 在 32 bit 是 4 bytes,在 64 bit 就變成 8 bytes,如果應用程式沒考量到這個狀況,就有可能出現意外。