v和phpinfo()

我完全不明白为什么:

php -v
(or) php -m

返回:PHP 7.0

和phpinfo()说我正在使用PHP 5。

这很奇怪,有什么想法?


我使用的是Ubuntu和Nginx。 以下是一个打印屏幕:

在这里输入图像描述


这并不奇怪。 php -v运行php-cli ,后者读取另一个ini文件。 phpinfo()由您的web服务器进行评估,该服务器读取特定于web服务器的ini文件。

在Ubuntu的情况下,它们是: /etc/phpX/apache2/php.ini/etc/phpX/cli/php.ini ,对于你的情况下的nginx,它使用php-fpm ,其配置位于/etc/phpX/fpm/php.ini


此外,在你的情况下,PHP7可能是编译或从其他回购拉。 如果你想让nginx选择PHP7,你需要编译或者安装php7-fpm或者其他的东西。 YMMV取决于你如何将PHP7加入你的系统。


要了解它是如何工作的 - 在web文件夹内的文件系统的任何地方创建一个文件,称为test.php其中包含以下内容:

<?

phpinfo();

?>

然后尝试运行:

# php test.php

然后从http://path.to.your.site.com/path/to/test.php的Web浏览器访问此文件

你会看到cli PHP会报告7.0版本,而nginx会持续报告PHP5。


如果在使用Apache的Ubuntu 14.04上从PHP5升级到PHP7时遇到此问题,请参阅以下帮助信息:

在Apache上禁用PHP5模块:

sudo a2dismod php5

现在启用PHP7:

sudo a2enmod php7.1

要反映更改,需要Apache重新启动:

sudo systemctl restart apache2
链接地址: http://www.djcxy.com/p/88205.html

上一篇: v and phpinfo()

下一篇: Setting collision bounding path of a UIView in iOS 9