使用iis+php環境經常會碰到iis php提示An error occurred on the server when processing the URL錯誤了,但是在php官網也找不到很好的解決辦法。
在幾天前幫朋友處理網站搬家後出現的MSSQL數據庫鏈接問題,後來我把它的代碼在本地搭建環境測試就發現一個ASP的問題並此解決了,也幫助我朋友解決了問題。所以今天給大家講下ASP出現的一個錯誤,雖然ASP的程序已經很少人使用了,但是還是不少的。
好的,進入我們的主題,首先我們先了解下演示的環境。首先我使用的是Windows 7 旗艦版 32bit 和IIS7.5 的版本。程序是使用了一個簡單的CMS系統,語言:ASP。
出現的錯誤是:
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.
其實解決這個問題很簡單,今天就把它當一節課與大家講講。
第一步:啟動IIS,打開該站點。在【功能視圖】的列表中找到【ASP】
第二步:找到【將錯誤發送到浏覽器】的值修改為【True】並應用。
如果你修改之後,直接預覽再看效果。估計是不行的,因為還沒有設置好。
出現的錯誤如下:
Active Server Pages 錯誤 'ASP 0131'
不允許的父路徑
/admin/login.asp,行 1
包含文件“../Inc/Const.Asp”不能用“..”表示父目錄。
第三步:這時候我還要設置下【啟用父路徑】,同樣設置為【True】並應用
再看下效果如何吧?
順便也在這裡解釋下,而我根據我理解來介紹呢,簡單來說呢?將錯誤發送到浏覽器就是把程序錯誤信息不用友好的方式展現出來,主要是為了方便調試;啟用父路徑而是代碼中出現了“...”等的路徑方式,跟Windows權限繼承是一樣的。下面內容來自微軟官方說明:
將錯誤發送到浏覽器 [scriptErrorSentToBrowser]:
指定 Web 服務器除了將調試詳細信息(文件名、錯誤、行號、描述)記錄到 IIS 請求日志中以外,是否還將其寫入客戶端浏覽器。默認值為 True。
啟用父路徑 [enableParentPaths]:
指定 ASP 頁是否允許相對於當前目錄的路徑(使用“...”表示法),即當前目錄之上的路徑。默認值為 False。
Tisp:
1.如果浏覽器打開任何網站出現問題,可以把IE的【顯示友好http錯誤信息】不要打勾啟用來查看此網站的錯誤信息。
2.虛擬主機空間的用戶可以讓服務商來解決此問題。