运行 Python Web 服务器上的脚本

Run Python Script on Web Server

我有一个 web 服务器,我的 cgi-bin 在 0755,我的脚本 return.py 也是 0755。当我的脚本就是这个

#!/usr/bin/perl

import cgi
import json


print "Content-type: text/plain\n\n";
print "testing...\n";

然后我转到我看到测试的网页...我应该这样做,但是当我将其中任何一个添加到我的脚本时

form = cgi.FieldStorage()

param = form.getvalue("param")

if param:
    json.dumps({'success': True, 'message':  param })
else:
    json.dumps({'success': False, 'message':  'did not receive parameter' })

我收到 500 内部服务器错误,我不确定为什么,我设置了正确的权限,python 是 运行,因为它在我不添加内容时有效多于?我上面的代码有问题吗?还有什么可能导致此问题?

顺便说一句,上面的代码是因为我正在为此制作一个 POST 以及 return 发布的值。只是一个简单的测试用例,但我无法让它工作?

我查看了这份清单,我可以检查的内容,并且一切正常 https://encodable.com/internal_server_error/

提前感谢您的帮助。 :)

编辑

这里是错误日志

[Tue Jun 23 01:35:38.661161 2015] [authz_core:error] [pid 874653] [client 173.34------:51484] AH01630: client denied by server configuration: /home/spencer/public_html/.htaccess
[Tue Jun 23 01:35:38.426745 2015] [access_compat:error] [pid 874653] [client 173.34-----:51484] AH01797: client denied by server configuration: /home/spencer/public_html/error_log

只需更改 shebang,它应该可以工作

#!/usr/bin/perl
import cgi
import json
print "Content-type: text/plain\n\n";
print "testing...\n";

并假设您将其保存为 test.py 有效 然后你添加下面的部分

#!/usr/bin/perl
import cgi
import json
print "Content-type: text/plain\n\n";
print "testing...\n";
form = cgi.FieldStorage()
param = form.getvalue("param")
if param:
    json.dumps({'success': True, 'message':  param })
else:
    json.dumps({'success': False, 'message':  'did not receive parameter' })

它给服务器错误

然后将 shebang 更改为

#!/usr/bin/python

它有效.....输入正确的 shebang,生活很轻松