在Mongoose中运行Python脚本
我想在mongoose网页服务器上运行python脚本。用php-cgi.exe的时候一切都很顺利,但用python.exe就不行。
测试脚本 test.py:
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
Mongoose的配置文件 mongoose.conf:
m .py=text/html
c py
I C:\\python\\python.exe
我在命令提示符下运行了这个脚本,结果是正确的:
Content-Type: text/html
<h1>Hello World!</h1>
访问 http://localhost/test.py 的时候返回了以下内容:
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
所以python代码没有被解释执行,也没有记录任何错误。
4 个回答
1
对于 mongoose 4.1 的更新,配置需要是
cgi_pattern **.py$
cgi_interpreter C:\Python27\python.exe
2
这是一个简单的mongoose配置:
document_root d:\root
listening_ports 80
cgi_extensions .py
hello.py:
#!python.exe
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
在我的Windows电脑上运行得很好,前提是设置了PYTHONPATH。
补充一下:我可以用类似 #!d:\python\python.exe
或者 #!d:/python/python.exe
的方式来替代 #!python.exe
,这两种方式都可以正常工作。
0
解决了:mongoose.conf 文件是区分大小写的。下面这一行是错误的:
c py
应该是:
C py
我还可以确认,不需要 #!python.exe
或 #!c:\python33\python.exe
也能正常工作。为什么呢?可能是因为 mongoose 在看到 .py
文件时,默认会运行 python.exe
,而 python.exe
已经在我的 PATH
里了。