在 Ubuntu 上设置 PHP 时区,常见有 三种方式,根据你使用的环境选择即可。
php --ini
或
php -i | grep "Loaded Configuration File"
常见路径:
/etc/php/8.1/cli/php.ini(CLI)/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"
✅ 保存后退出
sudo systemctl restart apache2
sudo systemctl restart php8.1-fpm
<?php
date_default_timezone_set('Asia/Shanghai');
或
ini_set('date.timezone', 'Asia/Shanghai');
⚠️ 只对当前脚本生效
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
添加:
php_admin_value[date.timezone] = Asia/Shanghai
重启:
sudo systemctl restart php8.1-fpm
php_value date.timezone "Asia/Shanghai"
Asia/ShanghaiAsia/Hong_KongAsia/TokyoUTCphp -r "echo date_default_timezone_get();"
输出:
Asia/Shanghai
如果你用的是 Docker / Laravel / Nginx,可以告诉我具体环境,我可以给你更精准的配置方式。