mac下多个php版本切换(可操作版)

参考了多个文章,并且进行测试实践,总结了如下正确的操作方式

实践

适用版本:

OS X Version:    10.12.3 (16D32)
--------
Homebrew 1.3.2
Homebrew/homebrew-core (git revision aeab0; last commit 2017-09-14)
--------
PHP Version in use:    php71 56

并且,前提你已经按照php56了

1.brew update

需要先更新brew的软件仓库目录

2.brew upgrade

根据之前的update更新的软件仓库目录,用upgrade来更新所有软件和相关依赖,为了保证安装软件的正确

备注:
用doctor进行打印出错的详细地方,安装顺利的话,不需要使用

brew doctor

3.brew install php71

需要先安装这个php仓库

brew tap josegonzalez/homebrew-php

然后安装php71

brew install php71

需要注意的是,这里需要先解除homebrew与php56的关联,然后再安装php71

brew unlink php56

4.安装php-version

安装php-version

brew install php-version

设置php-version的初始化

source $(brew --prefix php-version)/php-version.sh

这样就可以使用多个版本了

php-version
* 5.6.307.1.8
➜  ~ php -version
PHP 5.6.30 (cli) (built: Sep 15 2017 14:11:24) (DEBUG)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies➜  ~ php -version
PHP 7.1.8 (cli) (built: Sep 15 2017 14:26:34) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
➜  ~ php-version 5.6.30
* 7.1.8

遇到问题

报错:

dyld: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylib
Referenced from: /usr/local/bin/php
Reason: Incompatible library version: php requires version 45.0.0 or later, but libpng16.16.dylib provides version 38.0.0
Abort trap: 6
dyld: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylibReferenced from: /usr/local/Cellar/php70/7.0.22_14/bin/phpReason: Incompatible library version: php requires version 48.0.0 or later, but libpng16.16.dylib provides version 45.0.0

其实报错都差不多,都是说libpng版本有问题,解决的办法有2个:

1.更新libpng,如果解决不了,就跳到2选项

brew upgrade libpng

2.不要使用php70,使用php71

7.0怎么测试都不行,切换7.1就好了


参考文章如下:

https://code-ken.github.io/20...
https://github.com/Homebrew/h...
https://github.com/Homebrew/b...
https://github.com/wilmoore/p...

mac下多个php版本切换(可操作版)相关推荐

  1. Mac下安装多个版本的JDK并随意切换

    最近在学习JDK9的一些新特性,但是日常使用基本上都是基于JDK8,因此,需要在Mac环境下安装多个版本的JDK,并且确保能够随意切换. JDK9下载 JDK9下载地址:https://www.ora ...

  2. mac下多个php版本快速切换的方法

    php是为了快速构建一个web页面而迅速被大家广为接受的开源语言,通过不断发展已经有了很多的php开源系统,满足了目前大部分用户的站点需求.1995年初php诞生到现在已经存在多个版本,并且每个版本都 ...

  3. Mac下多个jdk自由切换

    1.缘由,某些场合下需特别配置jdk,如最近学习遇到 annotation注解支持jdk1.5以上版本,而我用的jdk1.8,导致tomcat启动失败,提示降低jdk版本到1.7,1.6 2.搜索ma ...

  4. Linux下实现Mac下QuickSilver那样的一键切换程序(代替Alt-Tab键)

    以后用Linux桌面的机会越来越少了,估计过不了多久这个技巧就失传了,还是记下来吧 用Mac久了,根本不想再用别的操作系统,对我来说其中一个最大的理由就是有QuickSilver这样的好软件,能帮我一 ...

  5. mac修改php配置文件,MAC下通过改apache配置文件切换php多版本的方法

    前言 前段时间,在自己的电脑上升级了php,php7.0虽然有部分更新,速度也提升了不少,但最近在做微信开发时,发现很多引擎不支持php7,于是想能不能安装两个版本进行切换,百度了很多方法发现不行.于 ...

  6. macos安装低版本php,mac下安装多个版本PHP及切换

    mac电脑原来安装的是php 5.6.29 现在再安装两个版本.php 5.6.32 php 7.0.27 本文的原理就是用一个php管理工具(php-version)管理切换两个php. 首先要先安 ...

  7. python3最新版本-mac下安装Python3.*(最新版本)

    前言:mac系统自带python,不过以当前mac系统的最新版本为例,自带的python版本都是2.*版本,虽然不影响老版本项目的运行,但是python最新的3.*版本的一些语法与2.*版本并不相同, ...

  8. linux 切换python版本_linux下多个python版本切换如何设置

    比如自带的是2.6,那么我想装2.7和3.3,分别开发不同的东西. 那么,如何再2.7和3.3之间切换,而不影响自带的2.6呢? VirtualEnv 是什么 VirtualEnv用于在一台机器上创建 ...

  9. mac下编译hadoop3.0.*版本的native lib

    编译好的hadoop3.0.2的native 见https://download.csdn.net/download/qq_14811559/10413344 本人的hadoop版本为3.0.0,用3 ...

最新文章

  1. Java线程如何转储
  2. JDK1.5官方下载_JDK5官方下载_JDK1.5API(chm)下载_JDK5APICHM中文参考下载_JDK1.5下载_JDK5下载...
  3. 类型与通用语言运行时
  4. 升级到VS.net 2008 sp1并安装卡巴斯基的兄弟们小心了
  5. pythonjson数据提取_python爬虫学习笔记(十)-数据提取之JsonPath的使用
  6. P2575 高手过招
  7. 带有Netflix Ribbon的Spring Cloud Rest Client-基础知识
  8. 插件properties_Mybatis3系列 - 4. mybatis-config的properties属性详解
  9. MVC设计之MVC设计模式(介绍)
  10. Error C1189: #error: Please use the /MD switch for _AFXDLL builds(转)
  11. 在OpenStack虚拟机实例中创建swap分区的一种方法
  12. 黑马程序员————java中面向对象的三大特性
  13. 学习数据库系统概论这一篇就够了
  14. 【web学习之对话框】对话框的使用
  15. anywhere无法获取服务器响应,使用Chat Anywhere可能出现的问题与解决方法
  16. Python 数据分析之 Numpy (三)
  17. RuntimeError: Attempting to deserialize object on CUDA device 3 but torch.cuda.device_count() is 1.
  18. MBR膜是什么?起到哪些用途?-世来福
  19. 【python】.pyx文件编译为.pyd过程中遇到的问题
  20. java编写九宫格拼图游戏_九宫格拼图游戏

热门文章

  1. 自定义Excel中的快捷键(Alt +1)
  2. MyEclipse注册码
  3. 【Shell】获取文件名和扩展名
  4. Unity中UI界面颤抖解决方法
  5. 通过pip下载python包缓慢的解决方法
  6. 启动Hadoop时候datanode没有启动的原因及解决方案
  7. 解决python中csv文件中文写入问题
  8. WebSocket跨域问题解决
  9. 在JavaScript中解析查询字符串[重复]
  10. Bootstrap模态出现在背景下