I am trying to run python as CGI in apache server. Python version is 2.7.12. Here is my apache conf file
<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>
My python script /var/www/python/hello.py looks like this
print('Content-Type: text/html; charset=utf-8\n')
print("Hello, World!")
When I access the url I get the Internal Server Error, I got the details from error.log file and it says ,
[Sun Dec 11 09:53:40.694909 2016] [cgi:error] [pid 6812] [client 127.0.0.1:36282] AH01215: (8)Exec format error: exec of '/var/www/python/hello.py' failed: /var/www/python/hello.py [Sun Dec 11 09:53:40.695312 2016] [cgi:error] [pid 6812] [client 127.0.0.1:36282] End of script output before headers: hello.py
PHP scripts are still working fine on the server. How to fix this issue with py files ?
Your script needs a "shebang" line, something like
#!/usr/bin/env python
as the first line. Also, make sure the script is executable with chmod
.
You should use:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print('Content-Type: text/html; charset=utf-8\n')
print("ąęśłłłóąś UTF answer")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With