搜索
首页后端开发PHP问题php -v和phpinfo() 输出的php版本不一致是怎么回事

php版本不一致是因为系统自带的php版本和新安装的php高级版本同时存在,并且终端和phpinfo加载的文件位置不一致导致的,其解决办法就是将高版本php安装目录下的高版本“php-fpm”安装目录也加到终端配置文件。

php -v和phpinfo() 输出的php版本不一致是怎么回事

推荐:《PHP视频教程

这个的问题就是系统自带的php版本和新安装的php高级版本同时存在,并且终端和phpinfo()加载的文件位置不一致导致。

其中,

nginx服务解析phpinfo()是依赖php-fpm实现的,所以phpinfo()输出的是php-fpm启动的版本;

而终端执行php -v是加载终端配置文件中设置的php安装目录对应的php版本的;

所以导致两者php版本不一致主要就是启动的php-fpm版本和终端配置的php版本不一致

直接的解决办法就是将高版本php安装目录下的高版本php-fpm安装目录也加到终端配置文件,让系统自动加载高版本php-fpm即可。

快速解决:

配置~/.bash_profile:

export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}

如果系统使用的是zsh,就在~/.zshrc文件最后添加:

source ~/.bash_profile

然后再执行

source ~/.zshrc

使配置生效,并重启php-fpm

sudo killall php-fpm
sudo php-fpm -D

即可

具体过程:

1、查看当前php版本

php -v

得到以下输出:

PHP 7.2.23 (cli) (built: Oct 10 2019 10:15:26) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies

2、查看php安装位置

which php

whereis php

得到以下输出:

/usr/local/Cellar/php@7.2/7.2.23/bin/php

3、查看php-fpm 版本和安装位置

php-fpm -v

得到以下输出:

PHP 5.6.30 (fpm-fcgi) (built: Oct 29 2017 20:31:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
which php-fpm

得到以下输出:

/usr/sbin/php-fpm

以上查看一遍后,发现php加载的安装目录是新安装的php高级版本,而php-fpm 还是mac系统自带的低版本,原因是在系统终端配置文件中配置了新版本php安装位置,但是没有配置php-fpm的安装位置,导致启动php-fpm时自动加载的是系统低版本的php-fpm,当php框架依赖高版本php时,就会无法运行。

4、配置新版本php-fpm加载目录

配置~/.bash_profile

export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}

如果系统使用的是zsh,就在~/.zshrc文件最后添加:

source ~/.bash_profile

或直接将上述路径配置设置在~/.zshrc文件中。

然后执行source ~/.zshrc使配置生效

5、查看当前php-fpm版本

(base)  qingshan@qingshan  ~  php-fpm -v
PHP 7.2.23 (fpm-fcgi) (built: Oct 10 2019 10:15:34)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies

已经自动加载高版本的php-fpm了。

6、重启php-fpm

终止后台运行的php-fpm进程

sudo killall php-fpm

启动php-fpm并后台运行:

sudo php-fpm -D

此时phpinfo输出的php版本信息就是最新的7.2版本

以上是php -v和phpinfo() 输出的php版本不一致是怎么回事的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境