php - 如何让网络服务器(例如 Apache)直接调用 Python?

标签 php python apache

(重要)免责声明:我知道这可能不是一个好主意,Python 不像 PHP,并且使用 Python 进行 Web 的“自然”方式更多是使用 Bottle、Flask、Django 等框架(我已经使用了) 等。但是,出于好奇,我想看看以下是如何可能的。

安装Apache+PHP后,我们可以访问类似http://www.example.com/index.php的页面.在内部,Apache 可能会将请求传递给 PHP,PHP 执行代码,生成文本输出,然后由 Apache 提供服务。

问题:我们如何在 Python 中做类似的事情? 即通过访问 http://www.example.com/index.py , Apache 会调用脚本 index.py :

print("<html><body>Hello world</body></html>")

然后 Apache 会将此页面提供给客户端。

注意:
  • 调用 http://www.example.com/index.py?foo=bar甚至可以将参数提供给 sys.argv 中的 Python 脚本
  • 我已经这样做了:http://www.example.com/index.php :
    <?php 
    $out = shell_exec("python index.py"); 
    echo($out); 
    ?>
    

    然后调用 Python 脚本并生成输出。它有效,但我想在没有 PHP 的情况下做到这一点。
  • 换句话说,有没有类似 mod_php 对于 Python?
  • 最佳答案

    存在一个 similar mod对于python,但它没有被广泛使用,而且似乎已经几年没有更新了。

    注意:一种常见的做事方式是使用 apache/nginx 作为 web 服务器,使用 uwsgi 作为应用服务器,web 服务器重定向到应用服务器以获取非静态内容 url。

    关于php - 如何让网络服务器(例如 Apache)直接调用 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58414076/

    相关文章:

    java - Apache 和 Tomcat 服务器中的多个站点

    java - 使用 Apache POI 计算 Excel 文件中的非空行

    php - 如何找到导致 Apache/PHP 常驻内存使用量过高的罪魁祸首模块或脚本?

    PHP 防止应用程序之间共享 session 数据

    PHP将上传的图片显示到不同的页面

    php - 从我的连接表获取数据

    javascript - 将 JSON 文件传递​​到 php 服务器,然后将其中的数据保存到 Mysql DB

    python - Edgewall Trac0.12.3 中缺少 "Users"部分

    python - 找到项目索引的正确页面

    Python:按嵌套字典值排序(无类别)