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

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

问题描述:

我很久以前写的脚本(getWords.py)以前在我的本地主机上可以执行( http://local.example.com/getWords.py?query-string )

A script I wrote long ago (getWords.py) used to be executable at my localhost (http://local.example.com/getWords.py?query-string)

我的python脚本开始是这样的:

My python script starts like this :

#!/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

I have enabled ExecCGI

cat/etc/apache2/sites-available/example

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).

But still the script force downloads (FireFox) or shows the script code (Chrome).

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

任何想法我的本地主机有什么问题吗?

Any idea what is wrong on my 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

On my host (Webfaction), its running at http://example.com/getWords.py?query-string

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

Did u add cgi handler in apache2

AddHandler cgi-script .py

AddHandler cgi-script .py

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