PHP脚本在XAMPP中运行需满足三个前提:一、Apache服务必须启动并显示Running;二、PHP文件必须置于htdocs目录或其子目录;三、必须通过http://localhost/路径访问,而非file://协议。

PHP 脚本在 XAMPP 中能跑起来,前提是 Apache 服务已启动且文件放在正确位置——不是所有 .php 文件丢进去就能执行,路径、协议、权限三者缺一不可。
Apache 必须 running,否则 PHP 无法解析
PHP 不是独立运行的程序,它依赖 Apache(或 Nginx)作为 Web 服务器来接收 HTTP 请求并调用 PHP 解释器。XAMPP 控制面板里 Apache 状态必须是绿色 Running,端口默认为 80(或 8080)。常见失败现象:
-
Error: Apache shutdown unexpectedly—— 多半是端口被占用(Skype、IIS、另一套本地环境) - 点击 Start 没反应或秒退 —— 尝试右键
xampp-control.exe→ “以管理员身份运行” - 状态显示 Running 但访问
http://localhost打不开 —— 检查 Windows 防火墙或杀毒软件是否拦截了httpd.exe
PHP 文件必须放在 htdocs 或其子目录下
XAMPP 的 Apache 默认只从 C:\xampp\htdocs(Windows)或 /opt/lampp/htdocs(Linux/macOS)提供服务。浏览器访问时,路径是相对于这个根目录的,不是文件系统绝对路径。
- ✅ 正确:把
test.php放进htdocs,用http://localhost/test.php访问 - ✅ 正确:放进
htdocs/myapp/index.php,访问http://localhost/myapp/index.php - ❌ 错误:双击打开
file:///C:/xampp/htdocs/test.php—— 浏览器直接读文件,不经过 PHP 解析,只会看到源码或空白 - ❌ 错误:把文件放在
C:\myproject\script.php并试图用http://localhost/C:/myproject/script.php—— Apache 根本不认这个路径
用 CLI 方式运行 PHP 脚本绕过 Web 服务
如果只是调试逻辑、写命令行工具,或不想启动 Apache,可以直接调用 XAMPP 自带的 php.exe:
立即学习“PHP免费学习笔记(深入)”;
- 确保
C:\xampp\php在系统 PATH 中,或手动 cd 进去:cd C:\xampp\php - 执行脚本:
php C:\path\to\your\script.php - 注意:CLI 模式不加载
php.ini的 Web 相关配置(如extension=openssl可能默认关闭),某些扩展需手动启用 - 输出是纯文本,无 HTML 渲染,
echo和var_dump()直接打印到终端
phpinfo() 是验证 PHP 是否生效的最简方式
别靠“页面有输出”判断 PHP 是否工作 —— 有可能是 Apache 返回了静态 HTML 或 404。真正确认 PHP 解析器就位,就建一个 phpinfo.php:
<?php phpinfo(); ?>
保存到 htdocs,访问 http://localhost/phpinfo.php。看到完整表格说明 PHP 已加载;如果空白或报 500 错误,重点查 C:\xampp\php\logs\php_error.log —— 很多问题(比如扩展加载失败、语法错误)只在这里留痕,浏览器不会告诉你。
最容易被忽略的一点:XAMPP 启动后,php.ini 修改必须重启 Apache 才生效,改完不重启等于没改;而 CLI 模式用的是另一份 php.ini(通常是 C:\xampp\php\php.ini),和 Web 模式未必一致。



















