在 AMPPS 中设置 Python - 内部服务器错误

Posted

技术标签:

【中文标题】在 AMPPS 中设置 Python - 内部服务器错误【英文标题】:Setting up Python in AMPPS - Internal Server Error 【发布时间】:2012-10-11 05:24:44 【问题描述】:

我正在尝试将 Python 与 AMPPS 结合使用,AMPPS 是适用于 Windows 的 Apache / mysql / 等捆绑包。但是只有一个问题;我尝试运行的每个脚本都会返回一个“内部服务器错误”,即使它是正确的代码。 这可能是一个不值得在这里发布的问题,但我搜索了三个小时,但找不到任何帮助。

我的 httpd.conf 在这里:http://pastebin.com/5DMU2cUU 我使用的单行代码是:print "Hello World!"; Notepad++ 设置为 EOL Conversion->UNIX 格式(在您询问之前)。

这就是我目前所知道的。请不要因为我发布这个而讨厌我(我知道你喜欢这样做),我是新手并且很困惑:3

【问题讨论】:

您使用的是什么版本的 Python? print 的语法在 v2 和 v3 之间发生了变化。 docs.python.org/release/3.0.1/whatsnew/3.0.html 我不确定,我只是加载了捆绑包附带的 WSGI 模块。 (虽然改变语法并没有改变任何东西。) 【参考方案1】:

mod_wsgi 已在 AMPPS 中配置。你可以在 apache 的加载模块中看到它。

httpd.exe -D DUMP_MODULES

您现在只需要配置您的脚本。 http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

您也可以修改 httpd.conf 中包含的 python.conf。即用于使用 mod_wsgi 指令。

这是来自 mod_wsgi 的官方 hello world 示例。希望这会有所帮助。

【讨论】:

为了澄清,'打印“Hello World!”;'单独不是一个有效的 WSGI 应用程序。去阅读文档并在文档中使用 WSGI hello world。【参考方案2】:

按照以下步骤:

    打开 httpd.conf 将 .py 附加到 AddHandler cgi-script .cgi .pl 标签下 现在 AddHandler cgi-script .cgi .pl 变成 AddHandler cgi-script .cgi .pl .py 搜索块并将 ExecCGI 添加到选项 FollowSymLinks 索引。 现在它变成了 Options FollowSymLinks Indexes ExecCGI

    保存 httpd.conf 文件,停止 apache 服务器并重新启动。 如果 apache 服务器重新启动而没有任何问题,则您已成功设置 ampps 以运行 python,否则从备份中恢复 conf 文件。在 ampps 中有一个恢复默认配置的选项。

    将 python exe 文件链接行添加到 python 文件的顶部以指向 Python 解释器。它可能是 #!C:\Ampps\python\python.exe

    添加这一行 print("Content-type: text/html\n") 添加这一行 print("Hello world!") 现在执行您的 python 文件。 http://127.0.0.1/test/test.py 必须安装wsgi_module,apache才能通过execCGI运行python脚本。在 ampps 上,默认情况下会安装并添加到 conf 文件中。

链接:http://www.lakshman.com.np/run-python-on-ampps-windows/

【讨论】:

以上是关于在 AMPPS 中设置 Python - 内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Fortran 程序中设置内部挂钟?

在 Azure 管道中设置 conda 元数据的内部版本号

如何在 Hibernate 中设置内部查询的限制?

使用 python 在 Azure 队列中设置消息的 messagettl

如何在SharePoint 2010中设置SPField的内部名称?

在 python http.client.HTTPSConnection 中设置更新的 ssl 版本