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

将服务器PHP从5.6升级至7.2后时区变为UTC的问题排查

原因分析

这个情况在WHM切换PHP版本时挺常见的,核心原因是不同PHP版本在WHM环境下拥有独立的配置文件:

  • 你之前使用PHP 5.6时,对应的php.ini文件里已经手动设置了EST时区(一般是date.timezone = America/New_York);
  • 切换到PHP 7.2后,WHM会加载该版本的默认配置模板,而PHP 5.4及以上版本的默认时区就是UTC,新的php.ini并没有继承旧版本的时区设置,所以出现了PHP时区跳变。另外要注意,服务器系统时区和PHP的时区配置是相互独立的两个设置,所以服务器本身时区不会受PHP版本切换影响。
最简单的修复方法

推荐两种高效的修复方式,优先用图形界面操作更省心:

方法1:通过WHM图形界面修改全局时区

  1. 登录WHM控制面板,找到MultiPHP INI Editor(多PHP INI编辑器);
  2. 切换到Editor Mode(编辑模式),在顶部的PHP版本下拉菜单中选中PHP 7.2;
  3. 在配置文件中找到date.timezone项,将值修改为你需要的时区(比如America/New_York对应EST);
  4. 点击页面底部的Save保存,配置会立即生效,无需重启服务。

方法2:SSH手动编辑PHP 7.2配置文件(适合习惯命令行的用户)

  1. 通过SSH登录服务器,先确认PHP 7.2的php.ini路径:
    php -i | grep php.ini
    
    一般路径是/opt/cpanel/ea-php72/root/etc/php.ini或/usr/local/lib/php.ini;
  2. 用编辑器打开该文件(比如nano),找到date.timezone行,修改为:
    date.timezone = America/New_York
    
  3. 保存文件后,重启PHP-FPM服务使配置生效:
    systemctl restart ea-php72-php-fpm
    

小贴士:如果仅需给单个网站设置时区,也可以在网站根目录的.htaccess文件中添加php_value date.timezone "America/New_York",不过这种方式只针对单个站点生效,全局统一修改还是上面两种方法更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:33:18