优先选laragon:开箱即用、多php版本切换、内置mailhog邮件预览;xampp适合跑老项目,但易遇权限、路径、配置错位等问题;新手应避免手动配apache+php,纯属环境陷阱。

直接用 XAMPP 或 Laragon,别折腾手动配 Apache+PHP。前者开箱即用、文档多;后者更轻、自带多版本 PHP 切换和 Mailhog 邮件预览,2026 年新项目建议优先选 Laragon。
为什么不要从零手动配置 Apache + PHP
新手卡在 LoadModule php_module 路径错误、PHPIniDir 指向不存在、httpd.exe -k install 权限被拒、或 php8apache2_4.dll 与 Apache 架构不匹配(x64 vs x86)——这些不是“学习成本”,是纯环境陷阱。官方 Apache Lounge 的 ZIP 包不带服务注册脚本,Windows 服务管理又容易残留旧实例,重启后 net start apache2.4 报错 “服务未响应控制功能” 很常见。
你真正想验证的,是 $_POST 能不能收、mysqli_connect() 能不能连上 localhost,而不是花半天查 error.log 里 “AH00526: Syntax error on line 123”的具体位置。
XAMPP 和 Laragon 怎么选、怎么装
XAMPP 适合:需要快速跑通一个老项目(比如 DedeCMS、Discuz!),或必须用 MySQL 5.7 兼容某些 legacy SQL 语法。
- 下载页面认准
https://www.apachefriends.org,别点百度搜索广告里的“XAMPP 中文版”——那些常捆绑垃圾软件 - 安装路径选
C:\xampp,避开中文、空格、长路径(如C:\Program Files\...),否则 Apache 启动失败且报错不提示原因 - 启动后浏览器访问
http://localhost,看到 XAMPP Dashboard 才算成功;若只显示 “It works!”,说明 PHP 模块没加载,检查htdocs下的index.php是否被覆盖
Laragon 适合:写新项目(Laravel、ThinkPHP 8)、要切 PHP 8.2/8.3、或希望本地邮件发出去能立刻在 http://localhost:8025 看到内容。
- 官网
https://laragon.org下载最新版,安装时勾选 “Add to PATH” 和 “Start on boot”(可选),其他默认就行 - 安装完托盘图标亮起,右键 → “Quick app” → “PHP” 就自动生成一个
hello.php,访问http://localhost/hello.php即可见效 - MySQL 默认 root 密码为空,
phpMyAdmin地址是http://localhost/phpmyadmin,不用额外配置
验证环境是否真可用,三步最小闭环
别只信欢迎页。用以下三行代码建一个 test.php 放进根目录(XAMPP 是 C:\xampp\htdocs\,Laragon 是 C:\laragon\www\),然后访问:
<?php echo "PHP OK\n";
var_dump(function_exists('mysqli_connect'));
echo file_get_contents('php://filter/convert.base64-encode/resource=php://stdin') ?: 'no stdin';
?>
预期输出:
- 第一行 “PHP OK” 显示,说明解析器工作
-
var_dump返回bool(true),代表 mysqli 扩展已启用(很多集成包默认关掉) - 最后一行不报错、也不卡死,说明 CLI 和 Web SAPI 一致,避免后续用
composer install时因 PHP 版本不一致出问题
常见假成功:localhost 能打开,但 POST/数据库/上传全失效
这通常不是环境没搭好,而是权限或配置被静默覆盖了:
-
post_max_size和upload_max_filesize在php.ini里默认是 8M,上传大点的图片就卡在 loading——改完记得重启 Apache/Nginx 服务,不是只重启网页 - 用
file_put_contents('test.txt', 'ok')测试写权限,如果失败,检查目录是否被 Windows 设置为“只读”,或杀毒软件拦截了httpd.exe写操作 - 连接 MySQL 报 “Access denied for user 'root'@'localhost'”,先确认你用的是
127.0.0.1而不是localhost(Windows 下后者走命名管道,有时认证逻辑不同) -
phpinfo()页面里搜Loaded Configuration File,确保看到的是你改的那个php.ini路径——XAMPP 多个php.ini文件共存,改错位置毫无反应
最省事的验证方式:直接在 Laragon 右键菜单点 “Open Terminal here”,运行 php -S localhost:8000 启一个 CLI 内置服务器,用它跑同一份代码。如果 CLI 服务器能 POST 成功而 Apache 不行,问题一定出在 Apache 的模块或 .htaccess 规则里。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











