Windows服务模式运行XAMPP时intl扩展无法加载问题求助
解决Windows服务启动Apache时intl扩展无法加载的问题
核心原因
Windows服务启动Apache时,系统环境变量未包含XAMPP的PHP依赖库路径,而XAMPP控制面板启动时会自动将该路径加入临时环境变量,因此能正常加载依赖ICU库的intl扩展。
具体修复步骤
1. 添加PHP依赖库路径到系统环境变量
- 打开「系统属性」→「高级」→「环境变量」
- 在「系统变量」中找到
Path,点击「编辑」 - 添加XAMPP PHP目录路径:
C:\Xampp\php(替换为你的实际XAMPP安装路径) - 依次点击「确定」保存所有设置
2. 确认intl扩展的依赖文件完整性
- 检查
C:\Xampp\php目录下是否存在以下ICU相关文件(intl扩展的核心依赖):icudt*.dllicuin*.dllicuio*.dllicule*.dlliculx*.dllicutest*.dllicutu*.dllicuuc*.dll
- 若缺少文件,从同版本XAMPP安装包或备份中复制补充
3. 调整Apache服务启动参数(可选,无需修改系统环境变量时用)
- 打开「服务」界面,找到Apache服务,右键选择「属性」,复制服务名称(如
Apache2.4) - 以管理员权限打开命令提示符,执行以下命令修改服务启动环境:
注意:sc config Apache2.4 obj= "NT AUTHORITY\LocalService" start= auto DisplayName= "Apache2.4" binPath= "\"C:\Xampp\apache\bin\httpd.exe\" -k runservice" depend= Tcpip/WinHttpAutoProxySvcobj=、start=后需保留空格,binPath中的路径要与实际安装路径一致 - 重启Apache服务
4. 验证修复结果
- 通过Windows服务重启Apache
- 创建PHP文件写入
<?php phpinfo(); ?>,访问该文件并搜索intl,确认扩展已加载
内容的提问来源于stack exchange,提问作者Floris
相关产品推荐
相关产品推荐

