本文翻譯自:https://stitcher.io/blog/php-8-upgrade-mac
用Homebrew升級
首先要確保Brew是最新的:
brew update
接下來,升級PHP:
brew upgrade php
透過執行php -v以下指令檢查目前版本:
php -v
重新啟動Nginx或Apache:
sudo nginx -s reload sudo apachectl restart
並透過存取下列腳本確保本機Web伺服器也使用PHP 8:
# index.php, accessible to your web server phpinfo();
版本應顯示8.0.x。
注意:如果您使用的是Laravel Valet,請繼續閱讀,您需要一些額外的步驟才能讓Web伺服器正常運作。
Valet
如果您使用的是Laravel Valet,則應執行下列步驟對其進行升級:
composer global update
現在執行valet install:
valet install
擴充程式
#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" zend_extension="xdebug.so"
請注意,如果您正在透過CLI測試已安裝的擴充程序,則在更改ini設定時無需重新啟動nginx,apache或Valet。
如果要從也使用pecl安裝擴充功能的舊PHP版本進行更新,則可以做第二件事。是分別重新安裝每個擴充功能。
pecl uninstall imagick pecl install imagick
最後一步
最後,您應該測試和升級專案以實現PHP 8相容性。
更多PHP8相關特性,請造訪PHP8專題欄位!
以上是在Mac上使用Homebrew升級到PHP 8的詳細內容。更多資訊請關注PHP中文網其他相關文章!