【问题标题】:Need to install libapache2-mod-php7.0 if I'm installing PHP7.0 FPM?如果我要安装 PHP7.0 FPM,需要安装 libapache2-mod-php7.0 吗?
【发布时间】:2017-12-21 00:14:10
【问题描述】:

我正在 Debian 服务器上安装 php7.0-fpm。我还需要安装 libapache2-mod-php7.0 包吗? php7.0-fpm 的 Debian package page 对我来说似乎模棱两可。它说,

此软件包提供运行的快速进程管理器解释器 作为守护进程并接收 Fast/CGI 请求。请注意,大多数 Apache 用户可能想要 libapache2-mod-php7.0 包。

这是否意味着大多数 Apache 用户想要 libapache2 包而不是 php7.0-fpm 还是意味着大多数用户想要安装 libapache 包?这些软件包的具体作用是什么?

【问题讨论】:

  • 这是 2 个不同的 SAPI。一个不需要另一个才能发挥作用。
  • 我发现 PHP 在我安装 libapache2 包之前无法工作。
  • 完全不是这样。这只意味着你不能同时配置 php-fpm 和 apache。
  • 是的,经过更多研究,我认为您是正确的。安装 libapache 导致 PHP 切换到 mod_PHP 而不是使用 PHP-FPM。我明天再看看这个。感谢您的帮助!

标签: php apache


【解决方案1】:

如果你想直接从 Apache 使用 mod_php,那么你想使用 libapache2 包。这个包要求 Apache 在单线程模式下运行(又名 PreFork MPM)。如果您想将 PHP 与 Nginx 或 Apache 的线程 Worker MPM(与 fastcgi)一起使用,那么您将需要使用 FPM 包。这具有使用线程和回收 php 工作进程的优势,一般来说,这将产生更好的性能。

我认为注释“大多数 Apache 用户可能想要 libapache2-mod-php7.0 包。”基本上就在那里,因为为 mod_php 设置 Apache 比为 FastCGI 设置 Apache 要容易得多,因此使用 Apache 的用户倾向于遵循该方法。使用 Nginx 设置 FPM 要简单得多,并且 Nginx 可以更有效地将请求代理到 FPM 进程。如果您只使用 Web 服务器来提供 PHP 执行并且不需要一些 Apache 特定的花里胡哨,那么从长远来看,您可能会更好地使用 Nginx。

【讨论】:

  • 正如我上面所说,在安装 libapache2-mod-php7.0 包之前我无法显示 PHP 信息页面,这让我想知道我需要做什么才能让 FPM 包正常工作反而。通常,我总是使用 Nginx。但在这种情况下,我选择了 Apache,因为我还将安装 WordPress,而 WP 推荐 Apache,因为一些 WP 插件不支持 Nginx。
  • 不确定你在上面所说的......它目前不在帖子中。如果 phpinfo 不起作用并且您在输出中看到 PHP 代码,那么您的 apache 配置没有通过 FastCGI 将 php 文件请求转发到 FPM 进程。您需要修改您的虚拟主机配置以使用 FastCGI。查看linode.com/docs/web-servers/apache/… 以使用 FPM 设置 FastCGI。
  • 查看 Alex Barker 参考资料。它适用于 PHP5,但我正在尝试安装 PHP7。
  • FPM 配置在 5 和 7+ 之间变化不大。
猜你喜欢
  • 2017-02-03
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2019-10-05
相关资源
最近更新 更多