【问题标题】:How to setup python3 as cgi on mac running apache2如何在运行 apache2 的 mac 上将 python3 设置为 cgi
【发布时间】:2021-06-17 19:52:37
【问题描述】:

我在 mac (big sur) 上设置了 apache2,它适用于 html 页面。但是我在机器上安装了 python3,但是如果我尝试在我的网络浏览器的主目录中加载一个 .py 文件,系统会将其视为我正在运行本地程序并在编辑器中打开它。

我找不到任何关于如何让 python3 在 apache 服务器中作为 cgi 运行的文档。有什么帮助吗?

更新:我添加到 httpd.conf 文件:

Options +ExecCGI
AddHandler cgi-script .py

现在它将文件作为纯文本返回,即使它以“.py”结尾但仍不会执行。

更新:我从加载 cgi 行中删除了 #。现在它响应“禁止:您无权访问此资源”。该文件为755,主目录中的所有其他文件都可以访问。

【问题讨论】:

    标签: python-3.x macos apache2


    【解决方案1】:

    我不得不放

    <Directory "/...the directory/">
    Options +ExecCGI
    </Directory>
    

    在 httpd.conf 文件的底部。然后我遇到了“格式错误的标题”的进一步问题。我检查了错误日志,它看到了 python 脚本的实际内容,所以它一定是在运行脚本。我加了

    print("Content-Type: text/html\r\n\r\n") 
    

    作为程序中的第一个输出并修复它。 \r\n\r\n 告诉它我已经完成了标题和正文。

    【讨论】:

      最近更新 更多