docker时区问题以及php时区问题

最近我沉迷docker,真的是遇到了很多很多坑,之后会慢慢记录下来。

这次先讲讲时区的问题,因为是我刚刚遇到的。

问题:我在个人网站上发表评论时,发现时间与当前隔了八小时,正好是格林尼治时间

解决步骤

因为我全用的docker,可是docker的nginx和php的时区我都改过了,进入容器 “date -R” 打印的时间都是当前时间没错,进一步打开php的日志记录,发现记录的时间都是格林尼治时间。

因此问题应该出在php配置上。

步骤一
docker时区修改

使用docker-compose.yml的话

只需要这么写

services:
    nginx:
        image: 'nginx:latest'
        ……

        environment:
            - TZ=Asia/Shanghai

        ……
    

如果是用docker run的命令的话

只要加入-e参数

docker run -e TZ=Asia/Shanghai ……

现在容器中的时区都对了。

步骤二
php时区配置的修改

修改php.ini

date.timezone = Asia/Shanghai

如果是在docker运行的php,可得提前将本地配置文件挂载到容器里,直接加上这句话就行了。反正php-fpm读取配置是读取conf.d文件夹中所有ini配置文件

记得重启php-fpm的服务

接下来可以搞段测试代码

<?php echo date('Y-m-d H:i:s');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值