我是CGI Scripting的新手。我在Windows上安装了Wamp Server,在Path D:\ Installation \ Python33上安装了Python。
我已将CGI脚本(test.cgi)编写为:
print "Content-Type: text/html"
print
print "<html><head><title>Books</title></head>"
print "<body><h1>Books</h1>These are the books</body></html>"
我将它保存在C:\ wamp \ www \ direcotry下。 当我从浏览器运行它时,它给出了错误“内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。“
我检查了apache_error.log显示:
[Sun May 18 12:30:13 2014] [error] [client 127.0.0.1] (OS 3)The system cannot find the path specified. : couldn't create child process: 720003: test.cgi
[Sun May 18 12:30:13 2014] [error] [client 127.0.0.1] (OS 3)The system cannot find the path specified. : couldn't spawn child process: C:/wamp/www/test.cgi
我认为需要在此处设置Python Path。
我在这里找到了类似的问题:
internal server error (500) in simple cgi script
但无法找到如何在Windows上设置python路径。请帮忙。
提前致谢。
答案 0 :(得分:1)
终于找到了解决方案:
我修改了第一行来设置python路径,然后使用sys模块将输出写为:
#!d:/Installations/Python33/python.exe
import sys
sys.stdout.write("Content-type: text/html\r\n\r\n")
sys.stdout.write("<html><head><title>Books</title></head>")
sys.stdout.write("<body><h1>Books</h1>These are the books</body></html>")
它工作!!!
答案 1 :(得分:0)
将您的脚本放在C:\wamp\bin\apache\apache2.2.22\cgi-bin
中
(如果你没有cgi-bin文件夹,那么创建一个)
然后在"httpd.conf"
即。找到<DIRECTORY />
并将其替换为此(在httpd.conf
文件中)
<Directory />
Options FollowSymLinks +ExecCGI
AllowOverride None
Order deny,allow
Allow from all
</Directory>
for windows(在localhost上)
#!D:\Installation\Python33
print("Content-Type: text/html")
print()
print("<html><head><title>Books</title></head>")
print("<body><h1>Books</h1>These are the books</body></html>")
并像这样调用你的脚本
http://localhost/cgi-bin/yourfilename
答案 2 :(得分:0)
在test.py中使用此代码
#!python
print ("Content-type: text/html\n")
print ("python test ok\r\n<br/>")
#print (help)
help (os.chmod())
并将D:\ Installation \ Python33放在路径变量
中重启apache
注意:Wamp Server必须安装在D盘中。
我希望这会起作用