Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请更正以下Python CGi程序_Python - Fatal编程技术网

请更正以下Python CGi程序

请更正以下Python CGi程序,python,Python,请更正以下cgi程序 #!usr/bin/python print "Content-type : text/html\n\n" print "<html><body><span>Hello World</span></body></html>" 通常,由于配置错误的web服务器,会生成500个内部错误代码。要像这样运行CGI,需要启用CGI,需要安装Python,www数据需要能够访问/usr/bin/Python,

请更正以下cgi程序

#!usr/bin/python

print "Content-type : text/html\n\n"

print "<html><body><span>Hello World</span></body></html>"

通常,由于配置错误的web服务器,会生成500个内部错误代码。要像这样运行CGI,需要启用CGI,需要安装Python,www数据需要能够访问/usr/bin/Python,www数据需要能够访问CGI脚本


如果我不得不猜测,我会说这个错误是因为你没有启用CGI,或者这个脚本不在你的CGI库中(或者,你可以简单地说脚本所在的目录没有启用CGI)。

我认为第一行应该是

#!/usr/bin/python
如果这不起作用,试试看

#!/usr/bin/env python

假设您有一个名为test.py的程序,那么您错过了usr之前的/

#!/usr/bin/env python

print "Content-type : text/html\n\n"

print "<html><body><span>Hello World</span></body></html>"
仍在当前目录中,请键入:

python -m CGIHTTPServer
现在,将浏览器指向以下位置时,您应该会看到“Hello World”:

http://localhost:8000/cgi-bin/test.py

这应该是“\r\n”我也试过了,但没有运行\r\n您的服务器配置为运行Python吗?是的,它配置为运行Python。这看起来不像一个有效的HTTP头(没有HTTP版本声明,没有
内容长度
,…)。但正如赛斯的回答所说,500=服务器的配置出现了一些错误。我尝试了另一个python程序(通过从互联网下载),但该程序仍然有效。为什么上面的程序不工作?也可能是对.py文件的权限。如果您正在运行linux,请尝试chmod 755 your_file.py,通常最好确保web服务器是所有者,并且只给他们执行权限。在大多数发行版使用Apache的情况下(您应该使用Apache,在Nginx下这样的CGI有点痛苦)
chown www data:www data your_file.py
然后
chmod o=rx
谢谢,它起到了作用,但我在浏览器中得到的输出是Hello World,为什么需要\n\n?您想要得到什么输出?您得到的正是您打印的内容。我需要输出为Hello World,但这是用浏览器中的html标记打印的。请阅读并尝试
python -m CGIHTTPServer
http://localhost:8000/cgi-bin/test.py