不能直接用。macOS Sonoma(14.0+)已彻底移除系统自带php命令,执行php --version会报command not found;推荐用Homebrew安装PHP 8.x,配置PATH后验证版本,并手动配置php.ini及扩展。

macOS Sonoma 自带的 PHP 能不能直接用
不能直接用。Sonoma(14.0+)彻底移除了系统自带的 php 命令,执行 php --version 会报错:command not found: php。这不是你环境没配好,是苹果主动删了——从 macOS Monterey 开始逐步弃用,Sonoma 终于清零。
最稳妥的替代方案:用 Homebrew 装 PHP 8.x
Homebrew 是目前 macOS 上维护最勤、兼容性最好的 PHP 安装方式。别碰 php-build 或手动编译,容易和 OpenSSL、curl 等底层库冲突。
- 先装 Homebrew(如果还没装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 装 PHP(推荐 8.2 或 8.3):
brew install php@8.3 - 让终端识别新命令:
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc(Apple Silicon)或echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc(Intel) - 验证:
php --version应该输出类似PHP 8.3.12 (cli)
运行 PHP 脚本的几种常见方式
注意:不是所有写法都等效,尤其涉及 CLI 模式和 Web 模式差异。
- 直接执行脚本:
php script.php—— 这走的是 CLI SAPI,$_SERVER['argv']可用,但$_SERVER['REQUEST_METHOD']为空 - 加 shebang 行后直接运行:
#!/usr/bin/env php放在script.php第一行,然后chmod +x script.php && ./script.php - 想模拟 Web 环境?别硬改 CLI 的
$_SERVER,用内置服务器:php -S localhost:8000,再访问http://localhost:8000/script.php - 遇到
Parse error: syntax error却确定语法没错?检查文件是否用了 UTF-8 BOM —— VS Code 默认可能加了 BOM,用file script.php看编码,用sed -i '' '1s/^\xEF\xBB\xBF//' script.php清掉
为什么不用 MAMP/XAMPP 运行 CLI 脚本
MAMP 的 php 在 /Applications/MAMP/bin/php/php8.x.x/bin/php,路径深、版本难同步、升级后常断链。它适合跑 Web 服务,不适合日常开发中的命令行调用。
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
立即学习“PHP免费学习笔记(深入)”;
如果你非要用 MAMP 的 PHP,必须显式写全路径:/Applications/MAMP/bin/php/php8.2.12/bin/php script.php,且每次升级都要手动改路径。Homebrew 的 php 是符号链接,升级后自动指向新版,更省心。
真正麻烦的不是装 PHP,而是后续扩展(如 pdo_mysql)、配置(php.ini 位置在 /opt/homebrew/etc/php/8.3/php.ini)和时区设置——这些得动手改,系统不会帮你填。


















