编译PHP时指定路径
./configure --prefix=/alidata/server/php/php-5.6 make && make install
这样可以PHP版本就可以安装到一个特别的路径,而不是安装到 /usr/local/ 下。多个版本的 PHP 分别保存在各自的目录中,根据程序需要启动不同的 PHP。
/alidata/server/php/php-5.6/bin/php server.php
编写自动切换版本脚本
php-5.6.sh:
sudo rm -rf /usr/local/bin/php sudo rm -rf /usr/local/bin/phpize sudo rm -rf /usr/local/bin/php-config sudo rm -rf /etc/php.ini sudo ln -s /alidata/server/php/php-5.6/bin/php /usr/local/bin/php sudo ln -s /alidata/server/php/php-5.6/bin/phpize /usr/local/bin/phpize sudo ln -s /alidata/server/php/php-5.6/bin/php-config /usr/local/bin/php-config sudo ln -s /alidata/server/php/php-5.6/etc/php.ini /etc/php.ini sudo killall php-fpm sudo cp -rf /alidata/tmp/deepin-sdk/source2/php/php-5.6.32/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm sudo /etc/init.d/php-fpm restart echo "to php-5.6 done"
php-7.1.sh:
sudo rm /usr/local/bin/php sudo rm /usr/local/bin/phpize sudo rm /usr/local/bin/php-config sudo rm /etc/php.ini sudo ln -s /alidata/server/php/php-7.1/bin/php /usr/local/bin/php sudo ln -s /alidata/server/php/php-7.1/bin/phpize /usr/local/bin/phpize sudo ln -s /alidata/server/php/php-7.1/bin/php-config /usr/local/bin/php-config sudo ln -s /alidata/server/php/php-7.1/etc/php.ini /etc/php.ini sudo killall php-fpm sudo cp -rf /alidata/tmp/deepin-sdk/source2/php/php-7.1.12/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm sudo /etc/init.d/php-fpm restart echo "to php-7.1 done"
Mac 上的切换脚本
注意:别忘了
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.1 等多版本切换
延伸阅读: