MacOS下PHP7.1升級到PHP7.4.15


最近寫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 https://mirrors.ustc.edu.cn/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="/usr/local/opt/php@7.4/sbin:$PATH"

最后執行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

參考的資料如下:

  1. homebrew國內源替換辦法
  2. php7.2升級到php7.4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM