Coda 无法直接运行 PHP CLI,需通过 Build System 调用系统 php 可执行文件;配置时须用绝对路径(如 /opt/homebrew/bin/php),勾选“Run in Terminal”,并确保 PHP 已正确安装且在 PATH 中。
Coda 本身不是 PHP 运行环境,它不内置 PHP 解释器,也不提供命令行执行界面。所谓“在 Coda 中运行 PHP 命令行”,实际是利用 Coda 的 Build System 或 External Command 功能,调用系统已安装的 php 可执行文件来执行当前文件或选中代码。前提是你的 macOS 系统已正确安装 PHP 并加入 $PATH。
Coda 支持自定义构建系统,这是最接近“一键运行 PHP”的方式。你需要手动创建一个 .build 文件并指定 PHP 路径:
PHP CLI,命令填:/usr/bin/php(macOS 默认路径;若用 Homebrew 安装,可能是 /opt/homebrew/bin/php 或 /usr/local/bin/php,请先在终端运行 which php 确认)$FILE_PATH,参数留空(或填 $FILE_NAME 如果只想传文件名)Run in Terminal —— 这很关键,否则输出可能被截断或无法交互保存后,打开任意 .php 文件,按 Cmd+B 即可运行。Coda 会自动在新终端窗口中执行 php /path/to/your/script.php。
如果你只想测试几行 PHP 代码(比如 var_dump($_SERVER);),不需要保存成文件,可用 External Command 配合临时脚本:
bash -c 'echo \"$INPUT\" | /usr/bin/php -a 2>/dev/null'
$INPUT 是 Coda 提供的变量,代表当前选中文本-a)在某些 PHP 版本中受限(如 PHP 8.2+ 默认禁用),更可靠的方式是写入临时文件再执行:bash -c 'echo \"$INPUT\" | /usr/bin/php -l 2>&1 || echo \"$INPUT\" | /usr/bin/php -r \"eval(\\\"\\\$stdin = file_get_contents(\\'php://stdin\\'); eval(\\\$stdin);\\\");\"'
m如果按下 Cmd+B 后无反应、报错 Command not found 或输出空白,大概率是以下问题之一:
php 不在 $PATH 中:在终端执行 which php,若无输出,说明未正确安装或 PATH 未更新(尤其使用 zsh 的 macOS 用户,需检查 ~/.zshrc 是否导出路径)php;解决方法是用绝对路径(如 /opt/homebrew/bin/php)代替 php
Parse error 到终端,需仔细看终端内容$_GET、$_SERVER['DOCUMENT_ROOT']):CLI 模式下这些变量不存在或为空,直接运行会出错#!/usr/bin/env php
1) {
echo "Hello, {$args[1]}!\n";
} else {
echo "Usage: php {$args[0]} \n";
}
?>
CLI 和 Web 环境差异比想象中大,别假设 $_SERVER 总是有值。真正要调试 Web 行为,还是得用本地服务器(如 Coda 内置预览或 php -S)。