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

admin3年前PHP教程45

最近写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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

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

相关文章

GPU服务器适用于那些领域租用美国gpu服务器可以安装搭建模拟器吗

GPU服务器是装有强大显卡的服务器。最初它们是为高速创建逼真的3D图形而构建的,但它们的架构和高速处理使它们适用于一些高性能计算任务。GPU的核心速度通常低于CPU,但它们有数千个并行运行的核心。因此...

php并发加锁问题分析与设计代码实例讲解

在工作项目中,会遇到一些php并发访问去修改一个数据问题,如果这个数据不加锁,就会造成数据的错误。下面我将分析一个财务支付锁的问题。希望对大家有所帮助。1 没有应用锁机制1.1 财务支付简化版本代码&...

ThinkPHP的标签制作实例讲解

thinkphp的默认标签解析器在Lib/Template/TagLib/TagLibCx.class中里面定义了常用的volist php 等常用thinkphp的标签这里笔者在这个类中添加一个&l...

关于PHP5和PHP7中数组实现方式的比较总结

目录⒈ 数据结构⒉ 添加/修改元素⒊ 删除元素⒋ 数组遍历⒌ hash 碰撞⒍ 扩容⒎ PHP 7 中的 packed hashtable总结从 PHP 5 到 PHP 7 ,PHP 通过对 hash...

网络安全威胁手段有哪些?美国电信高防服务器适合哪些行业购买?

网络安全是一种保护计算机、服务器、移动设备、电子系统、网络和数据免受恶意攻击的技术,这种技术也称为信息技术安全或电子信息安全。该术语适用于从业务到移动计算的各种环境,可以分为几个常见类别。应用程序安全...

聊聊PHP中die()和sleep()函数的用法

在上一篇《聊聊PHP中删除字符串的逗号和尾部斜杠的方法》给大家介绍了PHP删除字符串中的逗号以及尾部斜杠的方法,感兴趣的朋友可以去学习了解一下~本文也将给大家通过示例来讲解标题所述“PHP...