运行 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 使用。