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

RHEL 8.7服务器ICU时区数据更新求助(墨西哥取消夏令时)

解决方案:更新RHEL 8.7上的ICU时区数据适配墨西哥取消夏令时

针对你的场景(PHP intldateformatter依赖ICU 60.3,需更新墨西哥时区数据),以下是可行的解决步骤:

1. 优先使用RHEL官方更新渠道

RHEL 8通过DNF提供软件包更新,先检查是否有官方推送的ICU时区补丁:

  • 检查可用的ICU相关更新:
    dnf check-update libicu libicu-devel
    
  • 若有可用更新,直接安装:
    dnf update libicu libicu-devel
    
  • 重启PHP运行服务(根据你的环境选择):
    systemctl restart php-fpm
    # 或 Apache(若PHP以模块运行)
    systemctl restart httpd
    
  • 验证更新效果:
    # 查看ICU时区信息
    icuinfo
    # 通过PHP验证墨西哥时区处理
    php -r '$fmt = new IntlDateFormatter("es_MX", IntlDateFormatter::FULL, IntlDateFormatter::FULL); echo $fmt->getTimeZone()->getDisplayName(false, IntlDateFormatter::LONG) . "\n"; echo $fmt->format(time());'
    

2. 单独更新ICU时区数据文件(无需编译ICU)

如果官方无更新包,可直接替换ICU的时区数据文件:

  • 获取对应ICU 60.x版本的最新tzdata适配文件(icutz.dat),可从Unicode ICU项目的tzdata同步资源中提取
  • 备份原有文件:
    cp /usr/lib64/icu/60.3/tzdata/icutz.dat /usr/lib64/icu/60.3/tzdata/icutz.dat.bak
    
  • 替换为新的icutz.dat:
    cp /path/to/downloaded/icutz.dat /usr/lib64/icu/60.3/tzdata/
    
  • 重启PHP服务后验证时区是否正确

3. 编译更新ICU并重建PHP intl扩展(终极方案)

若必须升级ICU版本以适配时区变更,可手动编译:

  • 安装编译依赖:
    dnf install gcc gcc-c++ make autoconf libtool pkg-config php-devel
    
  • 下载ICU 60.x系列的最新稳定版本(如60.4,兼容60.3的API),解压后进入源码目录:
    tar xzf icu4c-60_4-src.tgz
    cd icu/source
    
  • 配置并编译安装:
    ./configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-static
    make -j$(nproc)
    make install
    
  • 重新编译PHP的intl扩展:
    pecl uninstall intl
    pecl install intl
    
  • 确保php.ini中启用intl扩展(添加或确认extension=intl.so),重启PHP服务
  • 验证ICU版本和时区处理:
    php -i | grep "ICU version"
    php -r '$fmt = new IntlDateFormatter("es_MX", IntlDateFormatter::FULL, IntlDateFormatter::FULL); echo $fmt->format(time());'
    

临时 workaround:代码层手动适配

若以上方法无法快速落地,可在PHP代码中针对墨西哥时区临时处理:

// 手动设置墨西哥时区(跳过夏令时规则)
$timezone = new DateTimeZone("America/Mexico_City");
$dt = new DateTime("now", $timezone);
// 或自定义偏移量逻辑(仅临时使用)

内容的提问来源于stack exchange,提问作者Jose G. Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 21:47:22