先前参考 如何 实现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. 更新chrom遇到flash过期解决办法

    更新chrom遇到flash过期解决办法 百度最新adobe flash player ppapi最新版 下载并安装,重启浏览器即可

  2. Java 读写文件方案

    一.获得控制台用户输入的信息     public String getInputMessage() throws IOException...{         System.out.println ...

  3. hibernate 数据处理

    1.Hibernate的配置文件 Hibernate.cfg.xml Dept.hbm.xml 2.CRUD的方法名称和参数类型 Save(Object obj) Delete(Object obj) ...

  4. Unity3D 预设打包的注意事项

    在平时的开发中,把预设打包成 assetbundle 文件是非常普遍的做法,但是我们不能随便把预设打包成 assetbundle 就算完事,我们应该先清楚把预设打包成 assetbundle 的目的, ...

  5. a href=#与 a href=javascript:void(0) 的区别

    a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="javascript:void(0)" onCl ...

  6. 冒泡排序 & 选择排序 & 插入排序 & 希尔排序 JavaScript 实现

    之前用 JavaScript 写过 快速排序 和 归并排序,本文聊聊四个基础排序算法.(本文默认排序结果都是从小到大) 冒泡排序 冒泡排序每次循环结束会将最大的元素 "冒泡" 到最 ...

  7. 《JavaScript高级程序设计》 - 读书笔记 - 第4章 变量、作用域和内存问题

    4.1 基本类型和引用类型的值 JavaScript变量是松散类型的,它只是保存特定值的一个名字而已. ECMAScript变量包含两种数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据 ...

  8. 显式意图启动一个Activity

    显式意图主要是通过指定包名和类名开启一个组件,主要用于安全性要求高的,且不想被其他应用开启,可以不配置应用过滤器. 1.创建意图对象 Intent intent = new Intent(); 2.指 ...

  9. struts2报错:There is no Action mapped for namespace [/] and action name [userAction!add]

    使用struts2.3进行动态方法调用时出现: There is no Action mapped for namespace [/user] and action name [user!add] a ...

  10. 【Matplotlib】详解图像各个部分

    首先一幅Matplotlib的图像组成部分介绍. 在matplotlib中,整个图像为一个Figure对象.在Figure对象中可以包含一个或者多个Axes对象.每个Axes(ax)对象都是一个拥有自 ...