php版本不一致是因为系统自带的php版本和新安装的php高级版本同时存在,并且终端和phpinfo加载的文件位置不一致导致的,其解决办法就是将高版本php安装目录下的高版本“php-fpm”安装目录也加到终端配置文件。
推荐:《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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

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