我试图在Apache Server中运行Python作为CGI。Python版本为2.7.12。这是我的apache conf文件
<VirtualHost *:80>
<Directory /var/www/python>
Options +ExecCGI
AddHandler cgi-script .cgi .py
Order allow,deny
Allow from all
</Directory>
DocumentRoot /var/www/python
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我的python脚本/var/www/python/hello.py看起来像
print('Content-Type: text/html; charset=utf-8n')
print("Hello, World!")
当我访问URL时,我会收到内部服务器错误,我从error.log文件中获取了详细信息,它说
[Sun 12月11日09:53:40.694909 2016] [CGI:错误] [PID 6812] [客户端127.0.0.0.1:36282] AH01215:(8)Execat格式错误:执行'/var/var/var/www/www/www/python/python/python/hello.py'失败:/var/www/python/hello.py.py [Sun 12月11日09:53:40.695312 2016] [CGI:错误] [PID 6812] [客户端127.0.0.1:36282]脚本结束前的脚本输出:Hello.py.py.py
PHP脚本在服务器上仍然可以正常工作。如何使用PY文件解决此问题?
您的脚本需要" Shebang"行,类似于
#!/usr/bin/env python
作为第一行。另外,请确保脚本可使用chmod
。
您应该使用:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print('Content-Type: text/html; charset=utf-8n')
print("ąęśłłłóąś UTF answer")