应通过 phpinfo() 确认 Apache 加载的 php.ini 路径,检查 httpd.conf 中 LoadModule、AddHandler 和 PHPIniDir 配置是否正确启用且路径无误,重启前需彻底终止 httpd.exe 进程并验证配置语法,同时注意编辑器权限与编码问题。

确认 Apache 加载的是你修改的 php.ini 文件
很多人改了 php.ini 却没生效,第一反应是“重启没用”,其实 Apache 根本没读你改的那个文件。最直接的办法是创建一个 info.php 文件,内容为 ,浏览器访问它,搜索 “Loaded Configuration File” 这一行——它显示的路径才是 Apache 实际加载的 php.ini。XAMPP 通常有两个常见位置:C:\xampp\php\php.ini(主配置)和 C:\xampp\apache\bin\php.ini(旧版可能放这儿),但只有 phpinfo() 显示的那个才作数。
检查 Apache 是否真的加载了 PHP 模块
如果 phpinfo() 页面压根不显示 PHP 配置信息,或者连 “PHP Version” 都看不到,说明 Apache 根本没启用 PHP 模块。打开 C:\xampp\apache\conf\httpd.conf,确认以下两行未被注释(即前面没有 #):
LoadModule php_module modules/libphp.so AddHandler application/x-httpd-php .php
Windows 下模块名可能是 php7apache2_4.dll 或类似名称,取决于 PHP 版本;同时检查 PHPIniDir 指令是否指向正确的目录,例如:PHPIniDir "C:/xampp/php"。这个路径末尾不能带斜杠,也不能用反斜杠,否则 Apache 启动会失败且不报明显错误。
修改后重启 Apache 的正确姿势
XAMPP 控制面板点 “Stop” 再点 “Start” 不一定等于彻底重载配置,尤其当 Apache 进程卡住时。建议按顺序操作:
- 在 XAMPP 控制面板中先点
Apache行的Stop,等状态变成Stopped再继续 - 打开任务管理器,搜索
httpd.exe,手动结束所有残留进程(XAMPP 有时无法干净杀掉子进程) - 再点
Start,或直接命令行运行:C:\xampp\apache\bin\httpd.exe -t验证配置语法是否正确(输出Syntax OK才算通过) - 最后刷新
info.php页面,确认修改已体现
注意 Windows 权限与编辑器缓存问题
用记事本直接编辑 php.ini 可能因编码或权限导致写入失败——特别是 Windows 10/11 默认阻止普通用户修改 C:\xampp 下文件。右键编辑器选择“以管理员身份运行”再打开文件;更稳妥的方式是用 VS Code、Notepad++ 等工具,并确认保存时编码为 UTF-8 without BOM。另外,某些编辑器(如老版本 Notepad++)在文件被占用时会静默保存到临时位置,表面看改了,实际没覆盖原文件——改完务必用资源管理器属性页确认修改时间是否更新。
改完 php.ini 后 Apache 不生效,90% 的情况出在路径不对、模块没加载、或进程没真正重启这三处。别急着怀疑配置项写错,先让 phpinfo() 说话。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











