如何在apache服务器的cgi-bin中运行python脚本?

时间:2012-07-29 16:51:19

标签: python apache

我在apache2中的cgi-bin中放了一个简单的python脚本,并尝试使用浏览器执行它,如下所示,

“http://www.example.com/cgi-bin/test.py”

但它会产生500内部服务器错误。

以下是apache2中的error.log。

[Sun Jul 29 22:07:51 2012] [错误](8)执行格式错误:'/usr/lib/cgi-bin/test.py'的执行失败 [Sun Jul 29 22:07:51 2012] [error] [client :: 1]脚本标题的提前结束:test.py [Sun Jul 29 22:07:51 2012] [错误] [client :: 1]文件不存在:/var/www/favicon.ico

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:1)

看起来你没有正确发送标题。

尝试运行最简单的示例脚本:

print('Content-Type: text/html; charset=utf-8\n')
print("Hello, World!")

答案 1 :(得分:1)

BlaXpirit的答案可以解决500服务器内部错误的问题。

重要的是要注意第一个打印语句末尾的“\ n”。你也可以把它写成

print(“Content-Type:text / html; charset = utf-8”)

打印()

我很惊讶地发现写出这些标题是必要的,即使你的Python程序只是做服务器端工作 - 根本没有对浏览器的响应。