哪个是在 apache2 中使用正确的 php.ini 文件?

哪个是在 apache2 中使用正确的 php.ini 文件?

运行 16.04,Lamp 堆栈设置并运行正常。/etc 中显示了几个版本的 php:

/etc/php/7.0/apache2/php.ini、/etc/php/7.1/apache2/php.ini 和 /etc/php/7.2/apache2/php.ini

/etc/php/7.0/cli/php.ini 等也存在类似情况。在终端窗口中,输出

php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.2/cli

已加载配置文件 => /etc/php/7.2/cli/php.ini 因此,我认为在命令行运行 php 使用的是 php 版本 7.2

我的 info.php 文件(http://localhost/info.php显示apache2使用的是php 7.0版本:

PHP 版本 7.0.27-1+ubuntu16.04.1+deb.sury.org+1 如何让 apache2 使用 php 版本 7.2?

答案1

您可以mod_php为 apache2 启用不同的选项。尝试

$ a2enmod php7.2

这应该禁用以前的版本并/etc/apache2/mods-enabled/php7.2.conf在适当的php.ini位置创建。

如果您没有此模块,请运行$ apt-get install libapache2-mod-php7.2

请记住,您需要重新启动 apache2 才能看到已加载模块的变化。

答案2

检查你的 Apache 配置查看 apache 正在加载哪些模块。您应该查找如下行:

LoadModule auth_basic_module modules/libphp7.so

并将其更改为您要使用的 php 模块。更像这样:

LoadModule auth_basic_module modules/libphp72.so

当然,这假设您在 apache 的模块目录中有 php 模块。

你也可以指定一定php.ini为 apache 使用。

相关内容