xampp 8.2.5 默认捆绑 php 8.2.x(如 8.2.12),不带 php 8.1;若需 php 8.1,必须手动替换并严格配置三处关键项:httpd.conf 中添加 loadfile/libssh2.dll、loadmodule/php8apache2_4.dll、phpinidir,php.ini 中启用 extension_dir、mysqli、openssl、fileinfo(强制),且确保 dll 文件存在、路径无中文空格、使用正斜杠。

直接说结论:XAMPP 8.2.5 官方不带 PHP 8.1,它默认捆绑的是 PHP 8.2.x(如 8.2.12)。若你明确需要 PHP 8.1,不能靠“选版本安装”实现,必须手动替换并补全三处关键配置——否则 Apache 启动必失败,日志里会报 Cannot load php8apache2_4.dll 或 The specified module could not be found。
确认你真需要 PHP 8.1 而非 8.2
PHP 8.1 是长期支持(LTS)版本,但截至 2026 年 9 月,XAMPP 8.2.5 已原生支持 PHP 8.2,且兼容性更稳、扩展更全。除非项目强依赖 8.1 特性(如某些旧扩展未适配 8.2)或测试环境需严格对齐,否则建议直接用 XAMPP 自带的 PHP 8.2,省去手动折腾风险。
若坚持用 PHP 8.1,请按顺序做这三件事
假设你已下载官方线程安全(TS)、VC17、x64 的 PHP 8.1 ZIP 包(如 php-8.1.29-Win32-vs17-x64.zip),并解压覆盖到 D:xamppphp:
- 编辑 D:
mpppacheconfhttpd.conf,在
LoadModule区块末尾添加四行(注意路径用正斜杠或双反斜杠):LoadFile "D:/xampp/php/libssh2.dll"<br> LoadModule php_module "D:/xampp/php/php8apache2_4.dll"<br><filesmatch> SetHandler application/x-httpd-php </filesmatch><br> PHPIniDir "D:/xampp/php"
- 编辑 D:
mppphpphp.ini(用
php.ini-development重命名而来),确保以下四行已取消注释:extension_dir = "D:/xampp/php/ext"<br> extension=mysqli<br> extension=openssl<br> extension=fileinfo
特别注意:fileinfo在 PHP 8.1 中是强制启用项,不开启 Apache 无法启动。 - 检查 D:
mppphp 目录下是否真实存在:
—php8apache2_4.dll(不是 php8apache2_4.dll.bak 或旧名)
—libssh2.dll(常被遗漏,必须从 PHP 8.1 ZIP 包完整复制,不能只拷 php.exe)
启动前务必验证路径与权限
Apache 启动失败,90% 是路径写错或文件缺失,不是配置逻辑问题:
- 用资源管理器直接打开
D:/xampp/php/,确认php8apache2_4.dll和libssh2.dll确实存在,且文件大小不为 0KB - 检查
httpd.conf中所有路径是否全是正斜杠/或双反斜杠\,单反斜杠会导致 Apache 静默忽略该行 - 安装路径避免中文、空格、长路径(如
C:Program Files mpp),推荐D: mpp这类纯英文短路径 - 改完配置后,必须在 XAMPP Control Panel 中点击 Apache → Stop → Start,不能只点 Restart
验证是否成功
启动 Apache 后:
- 浏览器访问
http://localhost,看到 XAMPP 欢迎页 → 表示 Apache 正常 - 在
D: mpphtdocs下新建info.php,内容仅一行:<?php phpinfo(); ?> - 访问
http://localhost/info.php,页面顶部显示 PHP Version 8.1.29,且 mysqli、OpenSSL、fileinfo 模块状态均为 enabled → 成功
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











