在Mac上使用Homebrew升级到PHP为最新版本

用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

MAC
本作品采用《CC 协议》,转载必须注明作者和本文链接
✍️博客文章皆为网络收藏整理,作书签使用,方便后期查阅。
讨论数量: 2

你这样会更新到php8

3年前 评论
柳旦旦 (楼主) 3年前

你的mac OS 是什么版本的,M1一堆坑

3年前 评论

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