【发布时间】:2012-03-04 09:07:21
【问题描述】:
下面的 asp 脚本给了我错误:“HTTP/1.1 500 Server Error”
<%@ Language = Python%>
<%
def main():
Response.Write("My first ASP script!")
main()
%>
当我在 IIS 7.5 Windows 7(64 位)上运行它时。在错误日志中它只是提到了一个 ASP_0147 错误。
我已经在服务器上安装了 Python 3.2 和 Active Python 3.2.2.3 并通过:pyscript.py 注册了 Python
我已为服务器启用 32 位应用程序。我还为 Windows 安装了 Python,看看是否有帮助。
你能建议我如何解决这个问题吗?
更新:
我现在已经设法让它在 python3 上工作,但我必须注册 --debug,如下所示:
C:\Python32\Lib\site-packages\win32comext\axscript\client>c:\Python32\python.exe
pyscript.py --debug
Requesting elevation and retrying...
Registered: Python (for debugging)
为什么它只能在调试模式下工作?在这种模式下运行是否安全?
这是启用调试时的跟踪:
Object with win32trace dispatcher created (object=None)
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-SetScriptSite(<PyIActiveScriptSite at 0x00000000036923B0 with obj at 0x000000000056FFD8>,) [1,0,None]
Debugging extensions (axdebug) module does not exist - debugging is disabled..
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._QueryInterface_ with unsupported IID IActiveScriptProperty ({4954E0D0-FBC7-11D1-8410-006008C3FBFC})
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-InitNew() [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-GetScriptDispatch(None,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._QueryInterface_ with unsupported IID {1D044690-8923-11D0-ABD2-00A0C911E8B2} ({1D044690-8923-11D0-ABD2-00A0C911E8B2})
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('Response', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('Request', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('Server', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('Session', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('Application', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('ObjectContext', 66) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('ASPGLOBALTLB', 74) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-ParseScriptText('def main():\r\n Response.Write("My first ASP script!")\r\nmain()\r\n', None, None, 'STRIP EMBEDDED HTML COMMENTS', 0, 1, 192, 0) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-GetScriptDispatch(None,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-AddNamedItem('ScriptingNamespace', 10) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-SetScriptState(1,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-SetScriptState(0,) [1,0,None]
in <win32com.axscript.client.pyscript.PyScript object at 0x00000000035946A0>._InvokeEx_-Close() [1,0,None]
谢谢,
巴里
【问题讨论】:
-
启用 32 位应用程序是应用程序池上的设置,但仅当您的服务器是 64 位时才相关。类似的一段 vbscript 代码运行正常吗?
-
您的 ASP 有
Response.Write("My first ASP script!"),但您的调试跟踪显示Response.Write("My third ASP script!")\r\n。你能检查它是同一个页面还是不同的页面。 -
@user568109 抱歉,两者的消息相同。我已经在上面解决了这个问题!
-
@Baz 我测试了我的解决方案,它可以在 IIS 7.5 Windows 7(64 位)上与 Python 3.2 和 Active Python 3.2.2.3 一起正常工作
-
@Baz 我想知道你有没有机会尝试解决方案?
标签: python asp-classic iis-7.5 activepython