目前,我的.py
cgi文件存储在默认目录/usr/lib/cgi-bin/
中并执行。这工作正常。但是我想将我的cgi目录更改为/var/www/cgi-bin
,因为这样更容易通过ftp访问。
我尝试修改文件/etc/apache2/sites-available/default
中的'cgi'代码块,如下所示
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AddHandler cgi-script .py
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
重新启动Apache服务器并通过我的Web浏览器访问http://raspberryIP/cgi-bin/helloworld.py
后,我收到了500 Internal Server Error
。这里有什么问题?
btw:我使文件helloworld.py
可以sudo chmod +x helloworld.py
helloworld.py包含以下代码:
#!/usr/bin/env python
print "Content-type: text/html\n\n"
print "<h1>Hello World</h1>"
我的Apache错误日志显示以下错误:
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] /usr/bin/env:
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] python\r
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] : No such file or directory
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102]
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] Premature end of script headers: helloworld.py
似乎Apache无法找到python来执行脚本。我可能需要将路径#!/usr/bin/env python
设置为python相对。任何帮助赞赏。