如何 实现PHP多版本的 共存 和 切换?

Posted 52PHP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何 实现PHP多版本的 共存 和 切换?相关的知识,希望对你有一定的参考价值。

编译php时指定路径

./configure --prefix=/opt/php/php-5.6
make && make install

这样可以PHP版本就可以安装到一个特别的路径,而不是安装到 /usr/local/ 下。多个版本的 PHP 分别保存在各自的目录中,根据程序需要启动不同的 PHP。

/usr/local/php/php-5.6/bin/php  server.php

使用软链接

ln -s /usr/local/php/php-5.6/bin/php /usr/local/bin/php
# 或
ln -s /usr/local/php/php-5.4/bin/php /usr/local/bin/php

php -v

如果要切换默认PHP的版本,只需要重建软链接即可。

编写自动切换版本脚本

to_php56.sh,切换到默认 PHP 到 5.6 版本

rm /usr/local/bin/php
rm /usr/local/bin/phpize
rm /usr/local/bin/php-config
ln -s /usr/local/php/php-5.6/bin/php /usr/local/bin/php
ln -s /usr/local/php/php-5.6/bin/phpize /usr/local/bin/phpize
ln -s /usr/local/php/php-5.6/bin/php-config /usr/local/bin/php-config
echo "to php5.6 done"

to_php70.sh,切换到默认 PHP 到 7.0 版本

rm /usr/local/bin/php
rm /usr/local/bin/phpize
rm /usr/local/bin/php-config
ln -s /usr/local/php/php-7.0/bin/php /usr/local/bin/php
ln -s /usr/local/php/php-7.0/bin/phpize /usr/local/bin/phpize
ln -s /usr/local/php/php-7.0/bin/php-config /usr/local/bin/php-config
echo "to php 7.0 done"

  


 

注意:别忘了

1、去掉 .bash_profile  文件中,对 PHP 路径的配置(附:Mac Pro 修改环境变量);

2、删除掉 /usr/bin/php 文件;

后记1:

在 Mac 电脑上,删除不了系统自带的 PHP-5.6.25(没有权限,sudo 也不行),文件路径为 /usr/bin/php,顿时感觉 Mac 在安全性这块(用户权限)做的非常好。最后的解决方案是,修改 .bash_profile 文件,详细参考:Mac Pro 修改环境变量

后记2:

换成了其他脚本方式,实现了 Mac Pro 的PHP多版本切换,详情查看:Mac Pro 实现 PHP-5.6 与 PHP-7.0 等多版本切换

 

 

延伸阅读:

Mac Pro 编译安装 PHP 5.6.21 及 问题汇总

记 Mac 升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程

以上是关于如何 实现PHP多版本的 共存 和 切换?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu php多版本共存切换

Mac Pro 实现 PHP-5.6 与 PHP-7.0 等多版本切换

Mac下使用Pyenv实现python多版本共存与切换

Ubuntu下gcc多版本共存和版本切换

Linux系统中设置多版本PHP共存配合Nginx服务器使用

Apache多虚拟主机多版本PHP(5.3+5.6+N)共存运行配置全过程