我从源代码在 Debian 上安装了 PHP 5.4,并在具有新 php 功能的 PHP 内置 Web 服务器上运行 php 脚本,没有任何错误,但 php 脚本不能与具有新 php 功能的 apache2 一起运行。
我不完全了解php和apache2之间的关系。所以我有几个问题:
- 我可以使用内置的 php 服务器运行 php 脚本,那么内置的 web 服务器是否足以在没有任何 web 服务器(如 apache 或 nginx)的情况下为 php 脚本提供服务?(如果您说否,请解释原因。)
- 如何将 PHP 5.4 与 apache2 一起使用?
- 为什么我安装了 PHP 5.4,但 apache2 却无法解释新的 PHP 特性?
- 我必须再次编译 apache2 吗?如果是,为什么?
- apache2、mod_php 模块和 php 之间有什么关系?
答案1
我可以使用内置的 php 服务器运行 php 脚本,那么内置的 web 服务器是否足以在没有任何 web 服务器(如 apache 或 nginx)的情况下为 php 脚本提供服务?(如果您说不能,为什么?)
- 是的,但仅用于开发。内置服务器非常原始,不适合任何形式的生产。
如何将 php 5.4 与 apache2 一起使用?
- 通过您的发行版包管理器安装(如果在存储库中可用) - 或编译它;我强烈建议您为您的 mpm 安装 Apache devel 标头。查看文档中的配置选项“--with-apxs2”,它为 apache 的配置增加了一个额外的步骤。
为什么我安装了 PHP 5.4,但 apache2 却没有解释新的 PHP 特性?
- 如果您重新启动 Apache 并且它仍然在运行,比如说 5.3 - 那么您在编译时没有正确安装或配置它。
我是否必须再次编译 apache2,为什么?
- 没有足够的信息来帮助你解决这个问题
apache2、mod_php模块和php之间的进程关系是怎样的?
- 简单来说:Apache 配置加载 php 模块(映射到模块的“键”),它是一个 .so 文件。然后它将要处理的 PHP 文件类型的文件与该 SAPI 关联起来。