在 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(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
date_default_timezone_set('Asia/Shanghai');
或
ini_set('date.timezone', 'Asia/Shanghai');
适合只在某个项目中使用。
php_value date.timezone "Asia/Shanghai"
在 fastcgi_params 或 location 中:
fastcgi_param PHP_VALUE "date.timezone=Asia/Shanghai";
| 地区 | 时区 |
|---|---|
| 中国 | Asia/Shanghai |
| 香港 | Asia/Hong_Kong |
| 东京 | Asia/Tokyo |
| UTC | UTC |
| 纽约 | America/New_York |
php -r "echo date_default_timezone_get();"
输出:
Asia/Shanghai
如果你告诉我 Ubuntu 版本 + PHP 版本 + Web 服务器(Apache / Nginx),我可以给你更精确的操作命令。