CGI脚本内部服务器错误Windows

时间:2014-05-18 07:05:42

标签: python cgi

我是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路径。请帮忙。

提前致谢。

3 个答案:

答案 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"

中启用cgi

即。找到<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盘中。

我希望这会起作用