在Mac上使用Homebrew升級到PHP為最新版本

柳旦旦發表於2021-01-20

用brew升級

首先要確保 Brew 是最新的:

brew update

接下來,升級 PHP:

brew upgrade php

通過執行php -v以下命令檢查當前版本:

php -v

重新啟動 Nginx 或 Apache:

sudo nginx -s reload
sudo apachectl restart

並通過訪問以下指令碼確保本地 Web 伺服器也使用 PHP最新版本:

# index.php, accessible to your web server
phpinfo(); die();

版本號應顯示為PHP最新版本。

注意:如果您使用的是 Laravel Valet,請繼續閱讀,您需要一些額外的步驟才能使Web伺服器正常工作。

Valet

如果您使用的是 Laravel Valet,則應執行以下步驟對其進行升級:

composer global update

現在執行valet install

valet install

pecl

Homebrew 不再支援 PHP 擴充套件的安裝,您應該使用 pecl 代替。我個人使用 Imagick,Redis 和 Xdebug。

它們可以像這樣安裝:

pecl install imagick
pecl install redis
pecl install xdebug

您可以執行pecl list以檢視安裝了哪些擴充套件:

pecl list
# Installed packages, channel pecl.php.net:
# =========================================
# Package Version State
# imagick 3.4.4   stable
# redis   5.1.1   stable
# xdebug  2.8.0   stable

您可以使用來搜尋其他副檔名pecl search

pecl search pdf
# Retrieving data...0%
# ..
# Matched packages, channel pecl.php.net:
# =======================================
# Package Stable/(Latest) Local
# pdflib  4.1.2 (stable)        Creating PDF on the fly with the PDFlib library

安裝新軟體包後,請確保重新啟動Web伺服器:

sudo nginx -s reload
sudo apachectl restart

如果您使用的是 Laravel Valet,則也應重新啟動它。

valet restart

通過檢查 PHP Web 伺服器和 CLI 安裝,確保正確安裝和載入了所有擴充套件:

php -i | grep redis
var_dump(extension_loaded('redis'));

如果擴充套件未正確載入,則有兩個簡單的修復程式。

首先,請確保將副檔名新增到正確的 ini 檔案中。您可以執行php --ini以瞭解載入了哪個檔案:

Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File:         /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini

現在檢查 ini 檔案:

extension="redis.so"
extension="imagick.so"
extension="xdebug.so"

請注意,如果您正在通過 CLI 測試已安裝的擴充套件,則無需重新啟動 nginx,apache 或 Valet。

如果要從也使用 pecl 安裝擴充套件程式的舊 PHP 版本進行更新,則可以做第二件事。是分別重新安裝每個擴充套件。

pecl uninstall imagick
pecl install imagick

最後一步

最後,您應該測試和升級專案以實現 PHP 7.4相容性

本文摘錄自:https://stitcher.io/blog/php-74-upgrade-mac

本作品採用《CC 協議》,轉載必須註明作者和本文連結
✍️部落格文章皆為網路收藏整理,作書籤使用,方便後期查閱。

相關文章