mac上php版本切换
目标:Mac 环境下完成 php 版本之间的切换
在本地开发中很多时候我们需要多个版本的 php 开发环境。在公司中习惯用自己电脑开发的伙伴们,常常因为公司线上环境被迫更换php版本。但有不想降低自己的php版本,因为我要学习最新php版本的新特性。OK,那么下面我们就来解决这个实际应用的问题:
首先我们要理解的是php软件和php服务两个概念:
- 在终端操作的时候我们用的是php软件
- 在客户端通过web服务器访问的用的是php服务
下面我们通过不同版本的配置来理解上面的两个概念。
首先我们应用的是 Mac 的软件管理工具 brew,相信这个用 mac 的小伙伴都不陌生(给新手一个安装 brew 的地址 : https://brew.sh 可以切换语言的)
我们先通过终端我客户端查看 php 的版本,显示的是 php 软件版本:
通过浏览器 phpinfo() 查看 php 版本,显示的是 php 服务版本:
现在我使用 brew 停止 php5.6 的服务
brew services stop php56
开启 php7.0的服务器
brew services start php70
我们再通过终端我客户端查看 php 的版本,显示的是 php 软件版本:
再通过浏览器 phpinfo() 查看 php 版本,显示的是 php 服务版本:
停止 php56 的服务器,启动 php70 的服务,系统版本还是 php5.6,phpinfo()已经是 php7.0 版本了
那么,怎么切换系统软件php的版本呢,这个就更简单了,通过 brew 移除 php5.6 的软链接,添加 php7.0 的软链接,命令行如下:
brew unlink php56
Unlinking /usr/local/Cellar/php56/5.6.33_9... 17 symlinks removed
brew link php70
Linking /usr/local/Cellar/php70/7.0.27_19... 17 symlinks created
最后,我们再通过终端我客户端查看 php 的版本,显示的是 php 软件版本:
好了,这样我们就能成功顺利的完成 php 软件和服务切换了!
mac上php版本切换的更多相关文章
- mac 上多版本python 共存
Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版 ...
- 【转】【Mac系统】之Python版本切换、谷歌浏览器取消自动升级
都是很有用的文章,本文都是转载文章,以便后续查阅: Mac Chrome浏览器取消自动升级(看这一篇就够了) <Mac修改默认python版本> <mac设置python版本切换,和 ...
- Mac上随时切换PYTHON版本
在MAC上,默认安装了python2.*,自己又安装了python3.*:假如我们需要在终端上随时切换python控制台到需要的版本,可以采用下面的方法. 1.用命令 sudo vi ~/.bas ...
- Mac 上Python多版本切换
Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版 ...
- Mac上配置不同版本的JDK
Mac上JDK的版本为1.8,编译AOSP时发现需要JDK 1.7.想找一种比较容易切换JDK版本的方式,经过一番Google发现Jenv比较合适. 安装Jenv至少有三种方式: - $ git cl ...
- mac上Python多版本共存(python2.7.10和python3.5.0)
本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...
- MAC下 JDK环境配置、版本切换以及ADB环境配置
网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...
- 一文彻底解决Ubuntu上PHP的安装以及版本切换
Ubuntu上官方的源,比如 Ubuntu14.04 默认源中的是 PHP5.6.x.Ubuntu16.04 默认源中的是 PHP7.0.x,那么如果想在 Ubuntu16.04 上安装 PHP7.1 ...
- mac系统不同java版本切换
#确认jdk版本 /usr/libexec/java_home #会得到下面信息(不同版本显示不一样) /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jd ...
随机推荐
- 《java入门第一季》之网络编程初探
由于在写有关javaweb的博客,在写到web服务器的时候需要回顾网络编程的知识,提前把网络编程放在前面写. 直接上代码解释: import java.net.InetAddress; import ...
- oracle ORA-00917: missing comma 是因为少逗号
oracle ORA-00917: missing comma 是因为少逗号,而且不是网上盛传的空格问题!都是传言误人啊
- moonmq: 用go实现的高性能message queue
介绍 moonmq是一个用go实现的高性能消息队列系统,后续准备用于我们消息推送服务以及各个后台的异步任务. 在设计上面,moonmq主要借鉴了rabbitmq以及rocketmq相关的思想,但是做了 ...
- UITabBarController及三种控制器的…
第一部分:UITabBarController 标签视图控制器 UITabBarController 标签视图控制器继承自UIViewController,一经创建自带一个视 ...
- matlab学习日志之并行运算
原文地址:matlab并行计算,大家共同学习吧,涉及到大规模数据量处理的时候还是效果很好的 今天搞了一下matlab的并行计算,效果好的出乎我的意料. 本来CPU就是双核,不过以前一直注重算法,没注意 ...
- python的IndentationError: unexpected indent python
都知道python是对格式要求很严格的,写了一些python但是也没发现他严格在哪里,今天遇到了IndentationError: unexpected indent错误我才知道他是多么的严格. ...
- MySQL学习笔记_3_MySQL创建数据表(中)
MySQL创建数据表(中) 三.数据字段属性 1.unsigned[无符号] 可以让空间增加一倍 比如可以让-128-127增加到0-255 注意:只能用在数值型字段 2.zerofill[前导零] ...
- 【Android 系统开发】Android框架 与 源码结构
一. Android 框架 Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各种库 和 Android运行环境层; -- 应用框架层; -- 应 ...
- 12_Android中HttpClient的应用,doGet,doPost,doHttpClientGet,doHttpClient请求,另外借助第三方框架实现网络连接的应用,
准备条件, 编写一个web项目.编写一个servlet,若用户名为lisi,密码为123,则返回"登录成功",否则"登录失败".项目名为ServerIth ...
- 内存数据网格hazelcast的一些机制原理
hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一 ...