必须将XAMPP中php.exe路径(如C:\xampp\php)添加到系统PATH环境变量,且需重启终端才能生效;CLI与Web环境的PHP独立运行,配置文件php.ini也不同,需分别确认。

能直接运行 php 命令,但必须手动把 XAMPP 里的 php.exe(Windows)或 php(macOS)路径加进系统 PATH——XAMPP 安装本身不自动做这一步,CLI 和 Web 环境的 PHP 是两个独立可执行文件。
确认 XAMPP 中 CLI 版本是否就位
很多人以为启动了 XAMPP 的 Apache,php 命令就能用,其实不是。XAMPP 的 Apache 使用的是模块化 PHP(SAPI=apache2handler),而 CLI 需要的是另一个 SAPI(SAPI=cli)可执行文件,它就在 XAMPP 目录里,但默认没暴露给终端。
- Windows:检查
C:\xampp\php\php.exe是否存在(路径以你实际安装为准,比如D:\xampp\php\php.exe) - macOS:检查
/Applications/XAMPP/xamppfiles/bin/php是否存在(注意不是/Applications/XAMPP/xamppfiles/bin/php-cli—— 这个是旧版别名,新版统一为php) - 运行
php -v报错,不代表 PHP 没装好,只说明终端找不到这个二进制文件
Windows 下添加 XAMPP 的 php.exe 到系统 PATH
PATH 添加错位置、没重启终端、路径末尾多斜杠,是三大高频失败原因。
- 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在“系统变量”中找到
Path,点击“编辑” → “新建” → 粘贴完整路径(例如C:\xampp\php,不要带\php.exe,也不要末尾加\) - 如果还打算用扩展(如
php-curl.dll),可再加一行:C:\xampp\php\ext - 关闭所有已打开的 CMD/PowerShell,**新开一个窗口**再试
php -v;旧窗口不会重载 PATH
macOS 下让终端识别 XAMPP 的 php
macOS 不认 Windows 那套“系统变量”,得靠 Shell 配置文件注入 PATH。而且 XAMPP 的 php 默认没有执行权限,这点常被忽略。
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
- 先确认权限:
ls -l /Applications/XAMPP/xamppfiles/bin/php,如果显示-rw-r--r--,运行chmod +x /Applications/XAMPP/xamppfiles/bin/php - 编辑你的 Shell 配置文件:
~/.zshrc(macOS Catalina 及以后默认)或~/.bash_profile - 追加一行:
export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" - 执行
source ~/.zshrc(或对应文件)使配置立即生效 - 验证:
which php应输出/Applications/XAMPP/xamppfiles/bin/php,再跑php -v
验证 CLI 是否真的和 Web 环境隔离
加完 PATH 后,php -v 能用了,但别急着写脚本——CLI 和 Apache 加载的 php.ini 是两份,扩展、时区、内存限制全可能不同。
- 运行
php --ini查看 CLI 实际加载的配置路径(通常是C:\xampp\php\php.ini或/Applications/XAMPP/xamppfiles/etc/php.ini) - 对比 Web 环境:建个
test.php写<?php phpinfo(); ?>,浏览器访问,搜索 “Loaded Configuration File” - 常见坑:
extension=mysqli在 CLI 的php.ini里被注释了,导致脚本报Class 'mysqli' not found;date.timezone不一致引发日志时间错乱
真正麻烦的不是加 PATH,而是后续维护两套 php.ini:改了一个地方,忘了同步另一个,结果脚本在命令行跑通,一塞进 cron 就报错。建议把 CLI 的 php.ini 路径记死,每次调参前先 php --ini 确认当前上下文。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










