在 Linux 下配置 PHP 时区,常见有 php.ini 配置、代码动态设置、Linux 系统时区同步 三种方式,下面按使用频率说明。
php --ini
# 或
php -i | grep "Loaded Configuration File"
编辑 php.ini:
vi /etc/php.ini
找到:
; date.timezone =
改为(示例):
date.timezone = "Asia/Shanghai"
常见时区:
Asia/Shanghai(中国)Asia/TokyoEurope/LondonUTC# PHP-FPM
systemctl restart php-fpm
# Apache
systemctl restart httpd
# Nginx + PHP-FPM 通常只需重启 php-fpm
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
或:
ini_set('date.timezone', 'Asia/Shanghai');
⚠️ 仅对当前脚本有效。
PHP 默认可能读取系统时区:
timedatectl set-timezone Asia/Shanghai
查看:
timedatectl
RUN echo "date.timezone=Asia/Shanghai" > /usr/local/etc/php/conf.d/timezone.ini
ENV TZ=Asia/Shanghai
<?php
echo date_default_timezone_get();
echo date('Y-m-d H:i:s');
或命令行:
php -r "echo date('Y-m-d H:i:s');"
如果你用的是 CentOS / Ubuntu / Docker / LNMP,可以告诉我具体环境,我可以给你精确命令。