先前参考 如何 实现PHP多版本的 共存 和 切换? 实现了Linux(Ubuntu/CentOS)系统下,PHP多版本的切换,但是在 Mac OS 下,由于用户权限控制的比较严格,文章里提到的脚本运行失败(没达到预期效果)。后面采用了其他方式实现了 通过执行脚本自由切换PHP版本:

1、新建 2 个 .bash_profile 文件模板,文件名分别为

/Users/jianbao/.bash_profile_5.6

/Users/jianbao/.bash_profile_7.0

.bash_profile_5.6 文件内容为:

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF' export GOROOT=/usr/local/go
export GOPATH=/Users/jianbao/GoProjects/go-study export PHP=/usr/local/php/php-5.6 export PATH=$GOROOT/bin:$GOPATH/bin:$PHP/bin:$PHP/sbin:/usr/local/nginx/sbin:/usr/local/mysql:/usr/local/Cellar/subversion/1.9.4/bin:$PATH

.bash_profile_7.0 文件内容为:

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF' export GOROOT=/usr/local/go
export GOPATH=/Users/jianbao/GoProjects/go-study export PHP=/usr/local/php/php-7.0 export PATH=$GOROOT/bin:$GOPATH/bin:$PHP/bin:$PHP/sbin:/usr/local/nginx/sbin:/usr/local/mysql:/usr/local/Cellar/subversion/1.9.4/bin:$PATH

2、新建 3 个脚本工具,文件名分别为:

/Users/jianbao/1/stop.sh

/Users/jianbao/1/to-php-5.6.sh

/Users/jianbao/1/to-php-7.0.sh

stop.sh 文件内容为:

sudo /usr/local/mysql/mysql stop

#sudo /usr/local/nginx/sbin/nginx -s stop
sudo kiiall nginx sudo killall php-fpm

to-php-5.6.sh 文件内容为:

source /Users/jianbao/1/stop.sh

cat /Users/jianbao/.bash_profile_5.6 > /Users/jianbao/.bash_profile
source /Users/jianbao/.bash_profile sudo /usr/local/mysql/mysql start
sudo /usr/local/nginx/sbin/nginx
sudo /usr/local/php/php-5.6/sbin/php-fpm -D

to-php-7.0.sh 文件内容为:

source /Users/jianbao/1/stop.sh

cat /Users/jianbao/.bash_profile_7.0 > /Users/jianbao/.bash_profile
source /Users/jianbao/.bash_profile sudo /usr/local/mysql/mysql start
sudo /usr/local/nginx/sbin/nginx
sudo /usr/local/php/php-7.0/sbin/php-fpm -D

3、使用方式

切换到 PHP-5.6,执行一下 ./to-php-5.6.sh;

切换到 PHP-7.0,执行一下 ./to-php-7.0.sh;

大功告成!

Mac Pro 实现 PHP-5.6 与 PHP-7.0 等多版本切换的更多相关文章

  1. Mac Pro 16G 安装MyEclipse提示虚拟内存(为0)不够

    百度一下很多人都说开多一点程序,让程序占满内存,使其虚拟内存使用就能通过这一步骤,但这里有个更好一点的方案 通过执行: memory_pressure -l critical 用系统内存压力测试进程占 ...

  2. Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis

    1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...

  3. Mac Pro 利用PHP导出SVN新增或修改过的文件

    先前在 Windows 操作系统下,习惯用 TortoiseSVN 导出新增或修改过的文件([相当实用]如何让TortoiseSVN导出新增或修改过的文件 ),最近换成了 Mac Pro 笔记本电脑, ...

  4. Mac Pro 软件安装/个性化配置 汇总

    苹果产品维修 一.Spotlight 搜索程序和文档 Spotlight是最最常用的东西, 类似Windows开始菜单中的搜索.  可以用来搜索文档,也可以搜索本机的程序, 这样可以快速启动. 点击右 ...

  5. Mac Pro 编译安装 Redis-3.2.3

    Redis官方下载地址:http://redis.io/download Redis安装 cd /usr/local/src/redis-3.2.3 sudo make sudo make insta ...

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

    买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...

  7. MAC PRO 的网关在哪里

    mac pro的网关就是路由器地址. 1.路由器在系统偏好设置里 2.双击点开此图标 选中1.然后点击高级设置 3.选中TCP/IP,然后查看自己的路由器后边的数字,就是你的mac网关号 4.IPV4 ...

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

    [系统环境] 操作系统:OS X 10.11.5 Xcode:7.3.1 [注意] 编译之前,需要安装 xcode.Homebrew 套件! Mac Pro 安装 Homebrew 软件包管理工具 1 ...

  9. Mac Pro 入门、遇到的问题、个性化设置 汇总

    入门资料 入门一:Mac 基本用法 入门二:Mac 使用VMware Fusion虚拟机 入门三:Mac 使用brew安装软件 问题汇总 [问题1]如何复制文本? 一只手指头按下,另外一只手指头滑动选 ...

随机推荐

  1. Winform窗体的基本控件

    一.窗体的事件 每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码 位置:(1)右键属性→事件→load 双击进入.(2)双击窗体任意一个位置进入 public partial class F ...

  2. ConcurrentHashMap和HashMap的一点区别

    HashMap不是线程安全的,ConcurrentHashMap则在某一个方法的执行上是线程安全的. package testMap; import java.util.HashMap; public ...

  3. ASP.NET MVC - 创建Internet 应用程序

    为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序. 第 1 部分:创建应用程序. 我们将构建什么 我们将构建一个支持添加.编辑.删除和列出数据库存储信息的 Internet ...

  4. ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

    环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...

  5. knockoutJS学习笔记06:ko数组与模板绑定

    前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持. 一.observaleArray 前面的监控属性都是单个对 ...

  6. WCF开发那些需要注意的坑 Z

    执行如下 批处理:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\svcutil.exe" http://127.0.0.1: ...

  7. jq实现点击某元素之外触发事件

    <script type="text/javascript"> $(document).bind("click",function(e){ var ...

  8. jQuery之Ajax--辅助函数

    1.这些函数用于辅助完成Ajax任务. 2. jQuery.param()方法:创建一个数组或对象序列化的的字符串,适用于一个URL 地址查询字符串或Ajax请求.    我们可以显示一个对象的查询字 ...

  9. 推公式 HDU 2552

    T 给你2个值 求另外一个 需要推一下 tan(a+b)=(tan(a)+tan(b))/(1-tan(a)*tan(b)); 等式左右取tan tan(atan(a))=a 1/s=tan(...) ...

  10. js学习笔记9----时间操作

    1.时间操作函数如下: new Date();   //获取系统时间 getFullYear(); //年 getMonth()+1; //月,初始值为0 getDate(); //日 getDay( ...