实现多个PHP版本共存和互相切换

来自PHP百科全书
跳转至: 导航搜索

在Linux下可以实现多个版本的PHP共存和互相切换。

编译PHP时指定路径

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

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

 /opt/php/php-5.6/bin/php server.php

使用软链接

ln -s /opt/php/php-5.6/bin/php /usr/local/bin/php
ln -s /opt/php/php-5.4/bin/php /usr/local/bin/php
php -v

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

编写自动切换版本脚本

  • 创建 $HOME/bin 目录,并修改 ~/.bashrc 中 增加 export PATH=$HOME/bin:$PATH
  • 编写PHP版本切换的脚本

to_php7.sh

rm $HOME/bin/php
rm $HOME/bin/phpize
rm $HOME/bin/php-config
rm $HOME/bin/php-fpm
rm $HOME/bin/pecl
ln -s /opt/php/php-7/bin/php $HOME/bin/php
ln -s /opt/php/php-7/bin/phpize $HOME/bin/phpize
ln -s /opt/php/php-7/bin/php-config $HOME/bin/php-config
ln -s /opt/php/php-7/sbin/php-fpm $HOME/bin/php-fpm
ln -s /opt/php/php-7/bin/pecl $HOME/bin/pecl
echo "done!"

to_php56.sh

rm $HOME/bin/php
rm $HOME/bin/phpize
rm $HOME/bin/pecl
rm $HOME/bin/php-config
rm $HOME/bin/php-fpm
ln -s /opt/php/php-5.6/bin/php $HOME/bin/php
ln -s /opt/php/php-5.6/bin/pecl $HOME/bin/pecl
ln -s /opt/php/php-5.6/bin/phpize $HOME/bin/phpize
ln -s /opt/php/php-5.6/bin/php-config $HOME/bin/php-config
ln -s /opt/php/php-5.6/sbin/php-fpm $HOME/bin/php-fpm
echo "done!"