-1

在此处输入图像描述在我们的测试环境中有一个phpinfo()页面显示标题Loaded Modules并显示所有已加载的模块。实时站点上的重复phpinfo()页面没有加载模块部分,并且一些处理诸如 GZIP 压缩之类的模块看起来好像没有加载。Linux 家伙说有问题的模块(mod_headers、mod_deflate 和 mod_expires)在 LoadModule 语句中。

我希望为此站点启用 GZIP 压缩。通过 .htaccess 我已成功打开其他站点和其他服务器的 GZIP 压缩,但未在此站点/服务器上。因为没有显示加载的模块phpinfo(),我试图确定,模块可以加载而不显示在 phpinfo() 页面上吗?

PHP版本是5.6.30

4

2 回答 2

1

对于任何寻找另一个答案的人(就像我一样):

如果您看到“php -m”已加载模块,并且您的 phpinfo() 页面显示正在加载的正确 php.ini 文件,但新模块仍未显示在列表中,这可能很有用:

如果您使用的是 PHP FastCGI 进程管理器(某些 Linux 发行版在安装 Web 服务器和 PHP 时默认启用它),您不仅需要重新启动/重新加载 Apache,还需要重新加载FPM (php-fpm):

sudo systemctl reload httpd
sudo systemctl reload php-fpm

在此之后,您创建的 phpinfo() 页面将正确显示添加的新模块(FPM 正在为加载了新模块的页面提供服务)

于 2020-08-19T19:01:34.163 回答
0

是的,如果 PHP 作为 CGI 或 FastCGI 在 Apache 上运行。如果 PHP 作为一个模块在 Apache 上运行,答案是否定的。感谢这篇文章:apa​​che_get_modules() 的替代方法来获取加载的 apache 模块列表

于 2017-04-24T12:48:20.153 回答