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

如何解决PHP中Class 'IntlDateFormatter'未找到的错误?

解决PHP中IntlDateFormatter类找不到的问题

针对你遇到的PHP Fatal error: Uncaught Error: Class "IntlDateFormatter" not found错误,即便已经取消php.ini中extension=intl的注释仍未解决,可按以下步骤排查:

1. 确认intl扩展是否实际安装并加载

  • 新建一个PHP文件,写入代码:
    <?php phpinfo(); ?>
    
    运行后搜索intl关键字,若没有相关模块信息,说明仅取消注释php.ini不足以启用扩展,需先安装扩展。
  • 根据操作系统执行对应安装命令:
    • Windows:检查PHP安装目录下的ext文件夹是否存在php_intl.dll,同时确认php.ini中的extension_dir配置正确(如extension_dir = "ext"),完成后重启Web服务器(Apache/Nginx)或PHP CLI进程。
    • Debian/Ubuntu:
      sudo apt-get install php8.1-intl
      sudo systemctl restart apache2 # 或对应php-fpm服务,如php8.1-fpm
      
    • CentOS/RHEL:
      # 若未启用remi仓库需先启用,再执行安装
      sudo yum install php-intl
      sudo systemctl restart httpd # 或php-fpm服务
      

2. 验证php.ini是否被正确加载

  • 执行php --ini查看CLI模式下加载的php.ini路径;Web模式下查看phpinfo中的Loaded Configuration File项,确认你修改的是当前PHP进程实际使用的配置文件,避免修改了错误的php.ini文件。

3. 检查扩展与PHP版本兼容性

确保安装的intl扩展与你的PHP 8.1.6版本匹配,不同PHP版本的扩展文件不兼容,不要混用其他版本的php_intl.dll或扩展包。

代码优化提示

你代码中用date('D') === 'Wed'判断周三,D返回的是英文星期缩写,若后续环境本地化设置变更可能导致判断失效,建议改用date('N') === '3'(N返回1-7的数字,1代表周一,3代表周三),提升代码稳定性。

内容的提问来源于stack exchange,提问作者segmentationfaultgonnakillme

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:55:19