如何 实现PHP多版本的 共存 和 切换?
PHP 实现 如何 版本 切换 共存
2023-09-14 08:57:26 时间
编译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 等多版本切换
延伸阅读:
相关文章
- php 用redis实现限时抢购,并且防止超卖和重复购买
- PHP之static静态变量详解(一)
- PHP Socket编程 之 php中连接tcp服务的三种方式
- PHP的openssl加密
- PHP 8新特性之JIT对PHP应用性能的影响
- PHP基于Redis实现轻量级延迟队列
- go-micro+php+consul简单的微服实现
- php学习网站推荐
- php:在linux上用sudo提升权限(centos 8 / PHP 7.4.2)
- smarty模版使用php标签,如何获取模版变量
- PHP静态调用非静态方法
- PHP简单的图片上传
- 三种实现PHP伪静态页面的方法
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- Atitit.导出excel报表的设计与实现java .net php 总
- paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较
- linux下, 再次遇到使用thinkphp的模板标签时,报错used undefined function ThinkTemplatesimplexml_load_string() 是因为没有安装 php-xml包
- php 关于时区 date gmdate date_default_timezone_set/get 终极答疑
- PHP实现智能语音播报
- PHP如何实现字符串翻转?