Mac 下如何更新 PHP 到 8.0 版本?

PHP

 先更新本地的 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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://stitcher.io/blog/php-8-upgrade-m...

译文地址:https://learnku.com/php/t/52029

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!