【问题标题】:How do mod_php, mod_python, mod_Language workmod_php、mod_python、mod_Language 是如何工作的
【发布时间】:2011-12-29 01:39:17
【问题描述】:

一些 Apache 模块与编程语言相关,例如 mod_php 和 mod_python。描述基本上是“允许在 apache 中使用 php”或“允许在 apache 中使用 python”。我试图了解这些类型的“语言”模块如何工作的概述。

【问题讨论】:

  • 请注意 mod_python 已不再开发或维护,已由 Apache 软件基金会移至 Apache attic。如果真的想使用嵌入 Apache 的 Python,您可能需要考虑使用 mod_wsgi。

标签: php python apache mod-python mod-php


【解决方案1】:

这个比较简单;当网络服务器启动时,它将在其核心中注册模块。语言解释器模块,如 mod_php,将在页面请求处理程序中注册一个钩子。

这意味着当用户请求一个页面时,网络服务器会将请求传递给模块,模块会检查请求的文件是否是已注册为由模块后面的解析器执行的类型。在 PHP 的情况下,您很可能在 httpd.conf 文件中添加“AddType application/x-httpd-php .php”或类似文件,mod_php 在解析此类请求时会考虑到该文件。

PHP 现在控制请求,它将读取文件、解析、编译和执行文件,然后将其返回到请求缓冲区,Web 服务器将用作内容。

其他模块也是如此,虽然它们对请求的处理不同,但它们都做同样的事情。

【讨论】:

    【解决方案2】:

    基本上,如果您正确安装和配置 mod_php,则会执行 apache DirectoryRoot 中的一个 php 文件。 Mod_python 的工作原理类似。

    如果您在没有 mod_php 的情况下安装 apache,并且您的 htdocs 文件夹的根目录中有 foo.php,那么http://yourdomain/foo.php 会将文档视为纯文本文件。安装和配置 mod_php 将导致脚本被解析为 php 脚本,并将输出发送到浏览器而不是原始文本..

    贾斯汀

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2014-12-23
      • 2011-02-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多