如何 实现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"

注意:

别忘了 去掉 .bash_profile  文件中,对 PHP 路径的配置!

延伸阅读:

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

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

时间: 2024-10-16 23:24:25

如何 实现PHP多版本的 共存 和 切换?的相关文章

LNMP环境多版本php共存

写这个是因为博主在部署新网站的时候遇到的坑爹的问题 服务器已经有了环境:LNMP,也有网站在跑,这个是php5.5 坑爹的是,有个新网站要部署,按照惯例,nginx.conf中添加server,重启nginx却发现新网站跑不起来 查看error_log报的是[error] 18850#0: *2956 directory index of "/data/web/***/upload/" is forbidden 于是博主就各种搜,各种试,结果都不行,博主当时就想,也太坑爹了吧,于是跟客

linux下nginx多版本php共存

应用环境 LNMP的环境,当前PHP版本5.3.8,遇到一个应用需求只支持PHP 5.2.x,又希望保持现有应用还是用PHP 5.3.8.也就是说需要两个版本的PHP同时存在,供nginx根据需要调用不同版本. 思路 Nginx是通过PHP-FastCGI与PHP交互的.而PHP-FastCGI运行后会通过文件.或本地端口两种方式进行监听,在Nginx中配置相应的FastCGI监听端口或文件即实现Nginx请求对PHP的解释. 既然PHP-FastCGI是监听端口和文件的,那就可以让不同版本的P

记两个版本Python共存引发的玄学事件

记两个版本Python共存引发的玄学事件 2020.02.21 ? 今天由于他人特殊需求,需要将某个脚本打包为无需依赖的可执行文件,好在对方的系统是win7使得不用考虑太多跨平台编译的问题.我打算使用pyinstaller进行打包. ? 然而,当我调试完成,py main.py可以正常运行后,pyinstaller -F main.py生成的程序却一闪而过,不知出了什么问题.在控制台运行才发现竟然是No module named win32api,查看warning log得知,三个属于pywi

IIS7 IIS8 中多个版本php共存的方法

原文地址: https://blog.cozof.com/pieces/54.shtml 最近又重回.net,用回IIS.然后用到某个php开源项目,需要低版本的php,之前装的一个php5.5不能用,所以决定降一下版本,后面发现其实可以多个版本共用.于是打算分享下.分享之前网上先搜了下,有发现有人实现了,但方法不同,所以还是分享下: 我的电脑是win7 64位 php可以在官网下载http://windows.php.net/download/,php 5.4之前的版本似乎没有了,旧版本我是其

Unity 8 和 KDE 可以在 Ubuntu 桌面版本中共存

Ubuntu 开发人员和 KDE 开发者一起让 Unity 8 和 KDE 实现共存,允许用户在同一系统中拥有两种桌面环境. 目前 Unity 8 仍在大规模开发,到目前为止该环境可在 Ubuntu 手机上使用,对 Ubuntu 桌面版本的开发也在积极开发之中,将会尽快的在桌面版本中使用.Unity 8 与 Mir 显示服务器将融合桌面和移动系统. KDE 的开发者必须为每个系统开发默认的桌面环境包,包括 Ubuntu. 根据 Michael Hall(一个 Canonical 的开发者)提供的

pyenv安装与使用-多版本python共存解决方法

说明: 由于centos或者RHEL操作系统自带的python一般都比较低,centos6 自带的python版本都是2.6.6,但是现在一般python使用的版本都是2.7版本,以前总在操作上源码升级python,但是这样会导致的yum等利用python使用的命令错误,虽然修改yum源码可以解决问题,但是总感觉很麻烦,而且一个个命令文件的修改也感觉很LOW啊! 发现pyenv这个软件很不错,可以在一个系统中共存两套python版本,而且不影响系统自带老版本python的使用: 安装pyenv首

mac中利用brew实现多版本php共存以及任意切换

1.安装brew 参考链接:https://brew.sh/index_zh-cn.html 2.安装php56 brew install homebrew/php/php56 3.配置php56 因为需要与其他Php版本共存,所以我们需要修改php-fpm的监听端口) brew安装的软件目录一般在/usr/local/Cellar,配置文件一般在/usr/local/etc 进入/usr/local/etc/php/5.6/ 修改php-fpm.conf listen = 127.0.0.1:

安装Ruby、多版本Ruby共存、Ruby安装慢问题

rbenv rbenv可以管理多个版本的ruby.可以分为3种范围(或者说不同生效作用域)的版本: local版:本地,针对各项目范围 global版:全局,没有shell和local版时使用global版 shell版:当前终端,只针对当前所在终端 查找优先级为shell>local>global. 1.安装rbenv git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rb

在Anaconda中实现多版本Python共存

检查conda版本 在Windows的cmd下输入 conda --version 如图: 其中本机Anaconda自带的Python3.6版本的. 在conda中创建一个名为python27的环境,并下载对应版本的Python2.7 cmd下输入 conda create --name python27 python=2.7 如图: 激活python27 cmd下输入 activate python27 如图: 在python27的环境下下载Spyder cmd下输入 conda instal