在Xampp

时间:2018-02-17 13:33:58

标签: python flask server xampp cgi

我正在尝试在XAMMP上部署一个简单的Hello World script

如果删除了此链接,则application.py

from flask import Flask 
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"

我的applciation.cgi脚本如下:

#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(app)

C:/Users/Simon/Documents/Python/是我的虚拟python环境的位置。

我已按以下方式配置XAMMP(httpd.conf):

AddHandler cgi-script .py
ScriptInterpreterSource Registry-Strict

我在所有情况下都保留了这种配置。

我按照建议in the documentation尝试了以下内容:

ScriptAlias /Network C:/Users/Simon/Documents/Network/application.cgi

这失败了,我按照here中的建议尝试了这个:

<Directory "C:/Users/Simon/Documents/Network">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

Alias /Network "C:/Users/Simon/Documents/Network"

在所有情况下都返回了Error 500 Server error!

我不确定是否需要,但这是access.log中显示的相关错误:

192.168.0.8 - - [17/Feb/2018:13:21:12 +0000] "GET / HTTP/1.1" 500 1100 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36"

如果遗漏了任何内容,请告诉我,我会添加它。

如何正确配置我的服务器以便运行此脚本?

application.cgi中有错误:

#!C:/Users/Simon/Documents/Python/Scripts/python.exe
from wsgiref.handlers import CGIHandler
from application import hello
CGIHandler().run(hello)

但仍然会返回错误:

  

发生服务器错误。请联系管理员。

1 个答案:

答案 0 :(得分:1)

您在CGI脚本中导入了错误的内容;因此,app未定义。您应该导入而不是hello