You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache服务器中正确启用PHP intl扩展?

Apache环境下PHP intl扩展无法加载的问题排查与解决

问题描述

  • 已在php.ini中启用extension=intl(移除原;extension=php_intl.dll前的分号)
  • 命令行执行php -m时,intl扩展显示正常加载
  • Apache运行的网站通过<?php phpinfo(); ?>查看时,intl扩展未加载,但mbstring扩展在两种环境下均正常显示
  • 环境信息:
    • 操作系统:Windows 10
    • Apache:httpd-2.4.54-o111s-x64-vs16
    • PHP:php-8.2.0-Win32-vs16-x64

已尝试操作

  • 将php_intl.dll复制到Apache24/bin或Windows/SysWOW64目录
  • 重新安装Visual C++ 2019 Redistributable
  • 重新检查httpd.conf和php.ini配置

相关配置

httpd.conf

LoadModule php_module modules/php-8.2.0-Win32-vs16-x64/php8apache2_4.dll
AddType application/x-httpd-php .php .html .htm
PHPIniDir "C:/Program Files/Apache Software Foundation/Apache24/modules/php-8.2.0-Win32-vs16-x64/"

php.ini

extension=intl

解决步骤

  1. 确认Apache加载的php.ini文件
    访问网站的phpinfo()页面,找到「Loaded Configuration File」项,核对Apache实际加载的php.ini是否为你修改的版本——命令行和Apache可能加载不同路径的配置文件,这是常见诱因。

  2. 补全intl扩展的依赖DLL
    PHP的intl扩展除了php_intl.dll,还依赖PHP安装目录下的一系列icu开头的DLL文件(如icuuc72.dll、icuin72.dll、icuio72.dll等)。

    • 把这些icu开头的DLL文件复制到Apache24/bin目录;
    • 或者将PHP安装根目录添加到系统环境变量PATH中,添加后需重启Apache和所有命令行窗口。
  3. 验证架构匹配性
    再次确认httpd.conf中LoadModule指向的php8apache2_4.dll是x64版本,与你的Apache(x64)、PHP(x64)架构完全一致。

  4. 彻底重启Apache服务
    修改配置或复制文件后,必须完全停止再重启Apache,不能仅刷新网页。可通过Windows服务管理器操作,或执行命令:

    net stop Apache2.4
    net start Apache2.4
    
  5. 查看Apache错误日志定位问题
    若以上步骤无效,打开Apache24/logs/error.log,日志会记录扩展加载失败的具体原因(如缺少某依赖DLL),根据提示针对性修复。

内容的提问来源于stack exchange,提问作者R.X.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 06:55:56