我试图使用cgi在ubuntu上运行ananaconda python 2.7脚本,但是我得到了错误500,错误消息如下 var/log/apache2/error.log 是的。
var/log/apache2/error.log
No such file or directory: AH01241: exec of '/var/www/html/app/getcapabilities.py' failed End of script output before headers: getcapabilities.py
下面是我的apache apache2.conf的样子。
<Directory /var/www/html/*> Options +ExecCGI AddHandler cgi-script .py </Directory>
指挥部 which python 给了我一条路: /home/myuser/anaconda2/bin/python
which python
/home/myuser/anaconda2/bin/python
下面是我的python文件的样子。python脚本在windowsxamppache中运行良好。
#!/home/myuser/anaconda2/bin/python print ("Content-Type: text/xml\n\n") print ('\n') print ('\n') print ('hello')
我已经跟随了 this step 但也不适合我。
如何解决此问题并能够在web浏览器上运行python脚本?
这个问题是由于windows和linux的行尾差异造成的。文件以CRLF结尾,应该改为LF行结尾。我的文本编辑器pycharm可以在右下角或文件菜单中更改它,如下所示。所以将它改为unix和os x行分隔符解决了这个问题。
Pycharm的更多信息请查看此 link 是的。
如果使用git,则在提交存储库时会自动修复此问题。
编辑: 我最近发现需要使python文件可执行。即使我修复了行尾,我也有一个问题,通过选中“文件权限”中的复选框使文件可执行,解决了这个问题。