结论:XAMPP 5 分钟即可跑通 PHP 动态页,新手常见问题集中在路径、端口和 php.ini 位置;集成环境已预编译适配 ABI、TS/NTS 和架构,避免手动配置 Apache+PHP+MySQL 的高错率操作。

直接说结论:不用手动配 Apache+PHP+MySQL,XAMPP 5 分钟就能跑通 PHP 动态页,99% 的新手卡在路径、端口、php.ini 位置这三处。
为什么别从零编译安装 Apache 和 PHP
手动解压 httpd-2.4.x、改 httpd.conf 里的 ServerRoot、找 php7apache2_4.dll 路径、调 LoadModule 顺序……这些步骤在 Windows 上极易出错。常见报错包括:httpd.exe: Syntax error on line 40(路径含中文或空格)、Cannot load D:/php/php7apache2_4.dll(VC 版本不匹配)、PHP startup: Unable to load dynamic library 'php_mysqli'(extension_dir 指向错误)。集成包已预编译适配,省掉 ABI、线程安全(TS/NTS)、架构(x64/x86)等隐形门槛。
XAMPP 启动后访问 localhost 显示白屏或 403
不是 PHP 没装好,而是文件放错了位置。XAMPP 默认 Web 根目录是 C:\xampp\htdocs,所有 PHP 文件必须放在这里或其子目录下:
- 正确路径示例:
C:\xampp\htdocs\myapp\index.php→ 浏览器访问http://localhost/myapp/ - 错误路径示例:
D:\projects\myapp\index.php→ 即使配置了虚拟主机,没改DocumentRoot也 403 - Windows 权限问题:若用管理员启动 XAMPP 控制面板但文件放在用户文档里,Apache 可能无权读取
- 注意
htdocs目录名不能重命名,否则 Apache 找不到根目录
写完 index.php 却不执行 PHP 代码,只显示原内容
说明 Apache 没把 .php 当作可执行脚本处理。检查三个关键点:
立即学习“PHP免费学习笔记(深入)”;
-
httpd.conf中是否启用了LoadModule php_module "C:/xampp/php/php8apache2_4.dll"(路径要和你实际 PHP 版本一致) - 是否添加了
AddType application/x-httpd-php .php(不是AddHandler,也不是漏掉空格) -
PHPIniDir是否指向C:/xampp/php(只写目录,不带php.ini文件名) - 改完配置必须重启 Apache,仅刷新浏览器无效
快速验证:在 C:\xampp\htdocs 下新建 info.php,内容为 <?php phpinfo(); ?>,访问 http://localhost/info.php。若显示完整 PHP 配置页,说明解析正常;若显示源码,就是上面某步漏了。
连接 MySQL 报错 Call to undefined function mysqli_connect()
这不是 PHP 没连上数据库,而是 mysqli 扩展根本没加载。打开 C:\xampp\php\php.ini,搜索并取消注释这两行:
;extension=mysqli ;extension=pdo_mysql
改成:
extension=mysqli extension=pdo_mysql
注意:extension_dir 必须指向正确的扩展目录,例如:
extension_dir="C:/xampp/php/ext"
保存后重启 Apache。如果仍报错,用 phpinfo() 页面搜索 “Loaded Configuration File”,确认你编辑的是 Apache 实际加载的 php.ini —— 有时系统会加载 php.ini-development 或 php.ini-production,而你改的是另一个。
真正麻烦的从来不是“怎么装”,而是“哪个配置文件被哪个进程读了”“路径里有没有隐藏的空格”“扩展名大小写是否匹配”。多看一眼 phpinfo() 输出的 Loaded Configuration File 和 Scan this dir for additional .ini files,比重装十遍都管用。



















