直接执行 brew install php 会安装过时版本(如php 8.1)、不自动配置path、不启用关键扩展、不集成web服务器,实际仅完成20%工作;正确做法是先 brew tap shivammathur/php,再 brew install shivammathur/php/php@8.4,手动配置path和php.ini并启用mbstring等扩展。

brew install php 这条命令看起来最省事,但实际会装出一个“看似能用、实则踩坑”的环境。它大概率拉的是旧版(比如 8.1),且不自动配置 PATH、不启用关键扩展、不处理 Apache/Nginx 集成——你得自己补全剩下 80% 的工作。
为什么不能直接 brew install php?
Homebrew 核心仓库已多年未更新 php 主 formula,现在执行它,实际安装的是过时版本或符号链接混乱的“latest”别名。官方推荐路径是通过 shivammathur/php tap 获取真实、带版本号的 formula。否则你会遇到:
-
php -v显示 8.1.x,但项目要求 8.3+,composer install 直接报错 -
which php返回系统路径(/usr/bin/php),其实是 macOS 已弃用的旧版 - 扩展如
mbstring、pdo_mysql默认未启用,php --modules里找不到
正确安装 PHP 8.3 或 8.4 的三步实操
以 Apple Silicon Mac(M1/M2/M3)为例,Intel 用户把路径中的 /opt/homebrew 换成 /usr/local 即可:
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 先加官方 PHP tap:
brew tap shivammathur/php - 再装指定版本(推荐 8.4,稳定且支持 JIT):
brew install shivammathur/php/php@8.4 - 确认软链生效:
ls -l /opt/homebrew/bin/php应指向php@8.4,不是php
PATH 和 php.ini 必须手动配
Homebrew 不会自动改你的 shell 配置,也不复制 php.ini。漏掉这两步,CLI 和 Web 服务器用的可能是两套 PHP:
- 编辑
~/.zshrc,末尾加:export PATH="/opt/homebrew/bin:$PATH" - 重载:
source ~/.zshrc,再运行which php确认输出是/opt/homebrew/bin/php - 生成配置文件:
cp /opt/homebrew/etc/php/8.4/php.ini.default /opt/homebrew/etc/php/8.4/php.ini - 至少启用这三项:
extension=mbstring、extension=pdo_sqlite、date.timezone = Asia/Shanghai
内置服务器够用,但别指望它跑 Laravel
php -S localhost:8000 是调试单文件脚本的快捷方式,但它不支持重写(.htaccess)、不加载 opcache、不处理并发请求。如果你要跑完整框架:
- Laravel/Vue 项目:用
php artisan serve(它底层仍是php -S,但做了路由兼容) - WordPress/Drupal:必须配 Nginx +
php-fpm,否则伪静态和上传功能会失效 - 验证是否真用上新版 PHP:
echo '<?php echo PHP_VERSION; ?>' > test.php && php -f test.php,别只信php -v
var_dump() 正常但 date() 返回 UTC、composer require 成功但 new PDO() 报 extension missing。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










