Python CGI可执行脚本下载/显示脚本代码

时间:2015-07-16 05:42:30

标签: python apache cgi

我很久以前编写的脚本(getWords.py)曾经在我的localhost(http://local.example.com/getWords.py?query-string

执行

我的python脚本就像这样开始:

#!/usr/bin/env python
# chmod 755 getWords.py

print "Content-type: text/html\n\n"

import os, sys, time, cgi, cgitb, re
import json, hashlib, gzip, urllib, urllib2
cgitb.enable()

我启用了ExecCGI

cat / etc / apache2 / sites-available / example

<VirtualHost *:80>
    ServerName local.example.com
    DocumentRoot /home/username/Dropbox/vhosts/example/
    <Directory /home/username/Dropbox/vhosts/example>
        Options +Indexes +FollowSymLinks +MultiViews +ExecCGI
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.example.log
    LogLevel warn
    CustomLog /var/log/apache2/access.example.log combined
</VirtualHost>

但脚本强制下载(FireFox)或显示脚本代码(Chrome)。

-rwxr-xr-x 1 username username 4794 Jul 14 17:15 getWords.py

知道我的localhost有什么问题吗?

$ apache2 -v
Server version: Apache/2.4.12 (Ubuntu)
Server built:   Feb  4 2015 14:21:10
$ python -V
Python 2.7.3

在我的主机(Webfaction)上,它运行在http://example.com/getWords.py?query-string

1 个答案:

答案 0 :(得分:0)

您是否在apache2中添加了cgi处理程序

AddHandler cgi-script .py

https://www.linux.com/community/blogs/129-servers/757148-configuring-apache2-to-run-python-scripts