Ubuntu18下 解决Lnmp的多版本PHP环境变量设置

/ 0评 / 0

最近Sandy有要用到php多个版本,偶尔又要在命令行运行php p.php这样类似的命令。
其实这个方法在mac下多版本java解决办法类同。同样在profile下设置多Path路径就可以了!

安装多版本命令:

./install.sh mphp

下面我们来先解决,运行一个版本的方法!

这个问题出现服务器有多个 PHP 版本,php -vphpinfo() 显示两个不同的版本

最近真的,都给朋友解决问题了。。。

phpinfo 查看的 php 版本是 7.2.6,到 bash 去使用 php -v 查看的确是 5.4.2

直接上手先改环境变量,全局永久生效的那种~

vi /etc/profile

在最后加入对应的 PHP 路径

export PATH=$PATH:/usr/local/php/bin

保存,然后让配置生效

source /etc/profile

使用 php -v 查看还是 5.4.2 的版本,环境变量还是指向旧的,没生效

这样,先查一下对应的 php.ini,使用命令,查到有 3 个 php.ini

$ find / -name php.ini

/usr/local/php/etc/php.ini
/usr/local/php7.0/etc/php.ini
/etc/php.ini

然后使用命令查看 PHP 加载的是哪个配置文件,这个获取的是系统内的 php.ini 的位置,不是 Apache 或者 Nginx 加载的 php.ini 文件

$ php -i | grep php.ini

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

查找一下系统里的 PHP 相关目录

$ find / -name php

可以看到有一个 /usr/bin/php

这个应该是服务器默认安装的 PHP

ok,使用命令删掉 /usr/bin/php 文件夹

rm -rf /usr/bin/php

别滥用,别敲错,回车

再让配置生效一下

source /etc/profile

这样,在 Bash 里查看的 PHP 版本也就是使用 phpinfo() 查看的版本了

发表评论

邮箱地址不会被公开。 必填项已用*标注