asp这个古老的语言,现在还有一些老系统在使用。在iis6很容易就可以输出详细错误,但在IIS7.5后就要做一些设置才可以。
拿WIN10 IIS10为例。
在http://localhost/editplus/asp/下建立一个test.asp,代码如下:
<%
Response.write("aaa")
Dim a="aa"
%>
然后我们访问 http://localhost/editplus/asp/test.ASP 会出现以下错误:
这个错误是IIS中的默认错误,并不是开发人员想看到的。要想看到详细的错误信息,我们需要做以下设置:
1.设置应用程序的“asp”feature
如果我们不想在“site”下设置 asp 的feature的话,我们需要将asp或者是editplus转换成“应用程序”,再设置它们的feature。
我的做法:
将asp转换成“应用程序”,然后设置asp的“Send Error to Browser”的值为“True”。
转换成应用程序,这一步是重点中重点。
2.设置应用程序的“Error Pages”
(这一步骤,经过验证后,其实是可以省略的。)
在C:\inetpub\custerr\en-US\目录下,找到“500-100.asp”文件,复制到 http://localhost/editplus/asp/目录下。
回到IIS中,在左侧选中“asp”节点,在界面中双击“Error Pages”。
修改“500”错误,设置 Execute a URL on this site为 “/editplus/asp/500-100.asp”:
确定后,我们再访问 http://localhost/editplus/asp/test.ASP ,可以看到详细错误:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/editplus/asp/test.ASP, line 13
Dim a="aa"
-----^
3. 设置任何人都可以看到详细错误
回到IIS中,在左侧选中“asp”节点,在界面中间双击“Error Pages”。在右侧点击“Edit Feature Settings”,在弹出来的界面上选择“Detailed errors”。