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

拓朴流沙
• 阅读 3784

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.30
  7.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.dylib
  Referenced from: /usr/local/Cellar/php70/7.0.22_14/bin/php
  Reason: 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...

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java技术遇到瓶颈?不慌,这份java全体系脑图与面试题集合可助你冲上云巅
所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生,编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的.但是当我们对并发编程有了更深刻的认识和更多的实践后.实现并发编程就有了
Stella981 Stella981
3年前
Mac安装多个Python版本
简介利用Mac包管理工具brew安装pyenv,pyenv用来管理所有python版本。如果没有安装brew,先安装一下吧。安装pyevn$brewinstallpyenv$pyenvvpyenv1.2.6查看所有的python版本(pyenv管理的所有版本)
Wesley13 Wesley13
3年前
ubuntu卸载php7并安装php5.6记录
      ubuntu16.04版本从默认源安装的php版本为7.x版本,我们都知道php7.0已经舍弃了很多旧版本的函数等内容,这对旧系统来说是致命的,那么,我们就有了安装旧版php的需求,而同一主机安装两个版本的php,如果不做配置会报错。那么,我们就需要:一、卸载php7.x;1)如果我们知道在安装php7的时候都安装了那些包及扩
Wesley13 Wesley13
3年前
Ubuntu安装多个版本的Opencv
参考:https://www.cnblogs.com/hxzkh/p/8473190.html(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fhxzkh%2Fp%2F8473190.html)将该博主的某一部分摘录出来\lsdslam
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
3年前
MySQLStudy——Mac下MySQL 常用命令 启动 关闭 重启服务 查看版本
MAC下MySQL常用命令本人电脑为MacOS10.14版本MySQL为8.0.15版本查看mysql版本方法一:status;!(https://oscimg.oschina.net/oscnet/01e3f478
Stella981 Stella981
3年前
PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展、PHP的mysqli扩展、PHP数据对象(PDO),下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版
Wesley13 Wesley13
3年前
MySQL5.7升级到8.0过程详解
前言:不知不觉,MySQL8.0已经发布好多个GA小版本了。目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了。本篇文章主要介绍从5.7升级到8.0版本的过程及注意事项,有想做版本升级的小伙伴可以参考下。1.升级前准备及注意事项首先
流浪剑客 流浪剑客
1年前
Macos桌面视频动态壁纸推荐:Dynamic Wallpaper v16.2中文版
是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行自动切换,也可以手动进行切换。除
绣鸾 绣鸾
1年前
Dynamic Wallpaper for Mac视频动态壁纸
是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。DynamicWallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些动态壁纸可以根据时间等因素进行自动切换,也可以手动进行切换。除
天航星 天航星
1年前
Java 比较版本号
在开发中,有时候会遇到比较两个文件的版本号,或者比较多个文件的版本号得出最新版本号。可以用如下代码解决:java/比较版本号@paramversion1版本号1@paramversion2版本号2@return0:版本号1版本号21:版本号1版本号21:版