【问题标题】:Setting up Python in AMPPS - Internal Server Error在 AMPPS 中设置 Python - 内部服务器错误
【发布时间】: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 模块。 (虽然改变语法并没有改变任何东西。)

标签: python apache httpd.conf internal-server-error


【解决方案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】:

按照以下步骤:

  1. 打开 httpd.conf
  2. 将 .py 附加到 AddHandler cgi-script .cgi .pl 标签下 现在 AddHandler cgi-script .cgi .pl 变成 AddHandler cgi-script .cgi .pl .py
  3. 搜索块并将 ExecCGI 添加到选项 FollowSymLinks 索引。 现在它变成了 Options FollowSymLinks Indexes ExecCGI
  4. 保存 httpd.conf 文件,停止 apache 服务器并重新启动。 如果 apache 服务器重新启动而没有任何问题,则您已成功设置 ampps 以运行 python,否则从备份中恢复 conf 文件。在 ampps 中有一个恢复默认配置的选项。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    • 2018-04-26
    相关资源
    最近更新 更多