Mac 下如何更新 PHP 到 8.0 版本?
先更新本地的 Homebrew
首先确保本地的 brew 是最新的:
brew update
接下来, 开始升级 PHP. 你可以继续使用内置的 php 配置, 也可以点击 shivammathur/homebrew-php
. 不过建议使用第二种, 因为它可以让你轻松的安装多个 PHP 版本并进行切换.
普通升级
brew upgrade php
使用 shivammathur/homebrew-php
升级
brew tap shivammathur/php
brew install shivammathur/php/php@8.0
你可以使用下面的命令切换 PHP版本:
brew link --overwrite --force php@8.0
你也可以在这里了解到更多 repository.
下一步
通过运行命令查看版本 php -v
:
php -v
重启 Nginx Or Apache:
sudo nginx -s reload
sudo apachectl restart
接下来访问这个命令脚本确保本地的 Web 服务器使用的是 PHP8:
# 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
接下来通过查看 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 uninstall imagick
pecl install imagick
最后
你的项目也应该升级一下,让新项目兼容新的 PHP 版本 PHP 8 compatibility.
更新 Homebrew
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
mark