在 Debian 上设置 PHP 时区,常见有几种方式,推荐按使用场景选择。
php.ini 设置(最常用 ✅)php.ini 文件php -i | grep "Loaded Configuration File"
常见路径:
/etc/php/8.2/cli/php.ini(CLI)/etc/php/8.2/apache2/php.ini(Apache)/etc/php/8.2/fpm/php.ini(Nginx + PHP-FPM)注意:CLI 和 FPM/Apache 是不同的 php.ini
编辑对应 php.ini:
sudo nano /etc/php/8.2/fpm/php.ini
找到或添加:
date.timezone = "Asia/Shanghai"
常用时区示例:
Asia/Shanghai
Asia/Taipei
Asia/Hong_Kong
UTC
PHP-FPM
sudo systemctl restart php8.2-fpm
Apache
sudo systemctl restart apache2
Nginx(通常配合 PHP-FPM)
sudo systemctl restart php8.2-fpm
date_default_timezone_set('Asia/Shanghai');
或查看当前时区:
echo date_default_timezone_get();
⚠️ 不推荐作为长期方案,仅用于调试或特殊场景。
export TZ=Asia/Shanghai
⚠️ 对 PHP 影响有限,不推荐。
php -r "echo date('Y-m-d H:i:s');"
或在网页中:
<?php
phpinfo();
查看 date.timezone
| 场景 | 建议 |
|---|---|
| 服务器全局 | 修改 php.ini |
| Docker / 容器 | php.ini + 环境变量 |
| 单个项目 | date_default_timezone_set() |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的配置方案。