atom本身不运行php,仅是编辑器;真正执行需靠插件(如script)调用xampp的php.exe,路径须填绝对路径如c:\xampp\php\php.exe,且文件须保存为.php、语言模式设为php,cli模式下无$_server等超全局变量。

Atom 本身不能“在 XAMPP 里运行代码”,它只是编辑器;真正执行 PHP 的是 XAMPP 自带的 php.exe,而 Atom 需靠插件(如 script)调用它——配置错路径、没启 Apache、或文件放错位置,都会让你以为“运行失败”,其实根本没走到 PHP 解释阶段。
怎么让 Atom 调用 XAMPP 的 php.exe 执行脚本
关键不是“连上 XAMPP”,而是让 Atom 的 script 插件知道去哪儿找 php.exe。Windows 下最常见路径是 C:\xampp\php\php.exe,但要注意:
- 路径里有空格(比如装在
C:\Program Files\xampp\php\php.exe)时,script插件设置框里只填路径本身,不加英文双引号——引号是命令行用的,插件内部不解析 - 必须进 Atom → Settings → Packages →
script→ Settings,在Command栏填完整路径,例如:C:\xampp\php\php.exe - 确保当前文件已保存、后缀为
.php、右下角语言显示为PHP(不是 Plain Text),否则绿色 ▶ 按钮不会出现 - 运行的是 CLI 模式,不走 Apache,所以
$_SERVER、$_GET等超全局变量为空,别指望它能模拟浏览器请求
为什么写了 echo 却没输出,或者报错 “Command not found”
这不是 PHP 语法问题,而是 Atom 没找到解释器或没权限调用。典型现象和对应动作:
-
Command not found: php:说明script的Command配置留空或填了php这种系统 PATH 名——XAMPP 默认不把php.exe加入系统环境变量,必须填绝对路径 - 点击运行后底部面板一闪而过、没内容:检查文件是否真的已保存(
script默认不自动保存),且确认php.exe路径下确实存在该文件(可手动在 CMD 里执行C:\xampp\php\php.exe C:\test.php测试) - 输出乱码(尤其是中文):XAMPP 自带的
php.exe默认编码是 ANSI,而 Atom 保存文件多为 UTF-8;解决方法是在 PHP 文件头加mb_internal_encoding('UTF-8');,或改用 VS Code + PHP Server 插件这类更省心的组合
想通过 localhost 访问 PHP 页面?Atom 不管这事
Atom 不启动 Apache,也不监听 80 端口。要通过 http://localhost/test.php 访问,你得自己操作 XAMPP:
- 打开 XAMPP Control Panel,确保
Apache状态是Running - 把 PHP 文件放到
C:\xampp\htdocs\目录下(不能放桌面、不能放子目录里却不配虚拟主机) - 浏览器访问
http://localhost/test.php,此时执行的是 Apache 内置的 PHP 模块,和 Atom 无关 - 如果想边写边刷浏览器,可用 Atom 插件
atom-browser-refresh,但它只负责发刷新指令,仍需你手动启 Apache 并保持页面开着
最易被忽略的一点:XAMPP 的 php.exe 和 Apache 加载的 PHP 配置可能不同——CLI 模式读的是 C:\xampp\php\php.ini,而 Web 模式读的是同一个文件但可能被 Apache 的 httpd.conf 里的 PHPIniDir 覆盖。调试时若发现 CLI 能跑、浏览器 500,优先比对两个场景下的 phpinfo() 输出。










