发布于2026-07-14 阅读(0)
扫一扫,手机访问
在Debian上折腾PHP时区配置,其实是个挺常见的需求。不管你是跑Web应用还是写脚本,时间不对就容易出各种奇怪的问题。下面直接上干货,三种方法覆盖了从全局配置到临时调试的各种场景,看哪个适合你。

php.ini文件配置(最稳妥)这是最正统、最推荐的做法,改一次永久生效。先找到php.ini在哪里——php --ini这个命令会告诉你到底是Apache用的那个还是CLI用的那个。通常路径长这样:
/etc/php/{版本号}/apache2/php.ini/etc/php/{版本号}/cli/php.ini用sudo nano或者你习惯的编辑器打开它,直接搜索date.timezone。如果没找到,就自己在文件里加一行:
date.timezone = "Asia/Shanghai"
当然,Asia/Shanghai可以换成你实际需要的时区,比如America/New_York或Europe/London。保存退出后,别忘了重启Web服务器让它生效:
sudo systemctl restart apache2sudo systemctl restart php{版本号}-fpm 然后 sudo systemctl restart nginx有时候你只是想快速验证一下,或者不想动全局配置。那可以直接用timedatectl来改系统时区,PHP默认会继承系统时区:
sudo timedatectl set-timezone Asia/Shanghai
改完之后,用一行PHP代码验证一下:
php -r 'echo date_default_timezone_get();'
如果输出Asia/Shanghai,说明配置成功。注意:这种方式只影响当前会话或脚本,不会写入php.ini,适合临时调试。
.htaccess文件配置(仅限Apache)如果你用的是Apache,又不想改服务器级别的配置文件,那就在网站根目录下放一个.htaccess,里面写上:
php_value date.timezone "Asia/Shanghai"
这种方式只对这个目录及其子目录生效,灵活性很高。不过前提是Apache开启了AllowOverride,且mod_php或mod_suphp支持这种配置方式。如果遇到无效,可以先去检查一下Apache的配置权限。
Asia/Shanghai、UTC、America/Chicago,别自己瞎编。总之一句话:优先用php.ini全局配置,省心;临时调试用命令行;特殊场景用.htaccess。按照这几种方式操作,Debian上的PHP时区基本不会出幺蛾子。
下一篇:Apache2如何配置防盗版模块
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8