MacOS下PHP7.1升级到PHP7.4.15的方法

admin3年前PHP教程101

最近写SDK的时候需要用到object类型提示符,PHPStorm智能提示说需要PHP7.2以上才能支持这种类型提示。
我一查我本机的PHP是7.1.30版本,于是考虑升级一下PHP版本。
首先要尝试使用如下命令进行升级:


brew update
brew upgrade php@7.4

第一个遇到的报错如下所示:

git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!

然后按照提醒执行"git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow"命令还会报错:

fatal: dumb http transport does not support shallow capabilities

由此怀疑homebrew-core的源可能因为一些不可抗力的原因无法正常使用,从而导致fetch操作失败。可以考虑换成国内的源,编写shell如下所示:


# 切换到homebrew-core目录下
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
# 设置homebrew源为国内的中科大镜像
git remote set-url origin http://mirrors.ustc.edu/homebrew-core.git
# 更新homebrew-core
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow

执行之后可以看到如下输出,然后就可以顺利执行brew update了。

remote: Enumerating objects: 539863, done.
remote: Counting objects: 100% (539826/539826), done.
remote: Compressing objects: 100% (194417/194417), done.
remote: Total 530481 (delta 341532), reused 521981 (delta 333211)
Receiving objects: 100% (530481/530481), 191.29 MiB | 9.18 MiB/s, done.
Resolving deltas: 100% (341532/341532), completed with 8120 local objects.

安装php7.4的方法很简单,可以使用源码下载编译的方法:


brew install --build-from-source php@7.4

可以看到大量输出,最后没有报错就可以完成php7.4的安装啦。

要让终端里面之前的PHP版本切换成功还需要在.bash_profile中设置环境变量,添加如下语句:


export PATH="/usr/local/opt/php@7.4/bin:$PATH"
export PATH=<a>/usr/local/opt/php@7.4/sbin:$PATH</a>

最后执行source ~/.bash_profile命令完成生效操作。

为了确认是否真的生效,可以执行如下命令php -v
得到输出如下即为正确:


PHP 7.4.15 (cli) (built: Feb 21 2021 20:08:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
  with Zend OPcache v7.4.15, Copyright (c), by Zend Technologies

参考的资料如下:

homebrew国内源替换办法php7.2升级到php7.4

到此这篇关于MacOS下PHP7.1升级到PHP7.4.15的方法的文章就介绍到这了,更多相关PHP7.1升级到PHP7.4.15内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PHP中使用pthread拓展

目录一. 线程的创建和使用1. Thread类2.Worker类二. PHP线程遇到的一些问题与注意点1.线程类的属性不能直接进行哈希表(数组)操作,如:2.线程类的属性不能是“闭包函数&...

php慢查询日志和错误日志使用详解

前言作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。php-fpm 慢日志php慢日志需要在php-fpm.conf设置,如果使用源码包安装默认请执行下...

香港高防服务器购买选择需要考虑什么

香港高防服务器购买选择需要考虑什么?在购买香港高防服务器时,需要考虑以下几个因素:防御能力:选择高防服务器时,需要关注其防御能力是否能够满足自身业务的安全需求。防御能力包括攻击的种类、攻击的峰值、防御...

GPU服务器的种类有哪些?成都GPU服务器是干什么的?

对GPU服务器的分类,首先需要确定一个角度(维度)来对GPU服务器做分类。1、按GPU服务器外形分类。分为塔式GPU服务器、机架式GPU服务器1)塔式GPU服务器塔式GPU服务器机箱比较大,服务器的配...

GPU服务器的使用场景?江西GPU服务器租用地址是多少?

服务器具备很强的现实意义,我们每天都在无形中跟服务器打交道。针对用途不同,服务器可分为诸多类型。为增加大家对服务器的了解程度,本文将对GPU服务器予以介绍。通过本文,您将对GPU服务器有所认识。GPU...

PHP的垃圾回收机制代码实例讲解

PHP可以自动进行内存管理,清除不需要的对象,主要使用了引用计数在zval结构体中定义了ref_count和is_ref , ref_count是引用计数 ,标识此zval被多少个变量引用 , 为0时...