在 Ubuntu 上配置 PHP 时区,通常有以下几种方式,按推荐程度从易到难说明。
先确认你用的是哪个 PHP 版本,以及 CLI / Web 环境:
php --ini
常见路径:
/etc/php/8.1/cli/php.ini(命令行)/etc/php/8.1/apache2/php.ini(Apache)/etc/php/8.1/fpm/php.ini(Nginx + PHP-FPM)编辑对应文件:
sudo nano /etc/php/8.1/cli/php.ini
找到这一行(可能被注释):
;date.timezone =
改为(以中国时区为例):
date.timezone = "Asia/Shanghai"
✅ 常见时区:
Asia/Shanghai(中国)Asia/Hong_KongAsia/TokyoUTC如果是 Web 环境:
# Apache
sudo systemctl restart apache2
# Nginx + PHP-FPM
sudo systemctl restart php8.1-fpm
date_default_timezone_set('Asia/Shanghai');
或测试:
<?php
echo date('Y-m-d H:i:s');
php_value date.timezone "Asia/Shanghai"
RUN echo "date.timezone=Asia/Shanghai" > /usr/local/etc/php/conf.d/timezone.ini
或:
docker exec -it php_container bash
php -r "echo date_default_timezone_get();"
输出应为:
Asia/Shanghai
如果你能告诉我:
我可以给你精确命令。