artisan tinker 输出时间差 8 小时,已设置 cli php.ini 和 config/app.php 的 timezone=PRC 你们有遇到吗?
第一:系统时间肯定是正确的。
第二:cli模式设置了php.ini时间区data.timezone = 'PRC'; 其实fpm php.ini也同样设置了http访问没问题。
第三:laravel框架本身timezone=‘PRC’;
第四:单独用命令行运行php文件时间正确;
问题:用php artisan tinker包括其他命令如queue等等,只要是artisan下运行~时间就不对。
发现一:在tinker单独设置date_default_timezone_set(PRC);时间正常。单独在Console/Command设置时区也正确, 但是我不可能每个Command都设置时间吧。
在http访问或者php命令行访问
use Carbon\Carbon;
echo Carbon::now()->toDateTimeString();//时间正常
echo date_default_timezone_get();//返回PRC
在tinker或者其他artisan 命令中都错
use Carbon\Carbon;
echo Carbon::now()->toDateTimeString();//时间差8小时
echo date_default_timezone_get();//返回Etc/GMT+0
推荐文章: