(重要)免责声明:我知道这可能不是一个好主意,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/