오늘 Lumen 프레임워크를 사용하여 코드를 작성할 때도 처음으로 Lumen을 경험했는데, 데이터베이스에서 찾은 시간이 데이터베이스에 저장된 TIMESTAMP 시간보다 8시간 느린 문제가 발생했습니다. 이게 타임존 설정인데 1분 안에 문제가 해결될 줄 알았는데 틀렸어요
라라벨 4.x와 5.0의 경험에 따르면 '타임존'만 설정하면 됩니다. config/app.php의 'PRC' 매개변수는 괜찮습니다. /vendor/laravel/lumen-framework/config 경로 아래에 있는 Lumen의 구성 디렉토리를 찾으십시오. 그러나 config의 매개변수 옵션에는 시간대 매개변수 옵션이 없습니다. /app.php이며, 수동으로 추가해도 유효하지 않습니다.
그러다가 Laravel 5의 .env 파일을 생각해보니 Lumen의 .env 파일에는 시간대 설정 옵션이 없다는 것을 알았습니다.
config 디렉터리로 돌아가서 config/database.php의 설정을 확인하세요. mysql의 기본 구성은 다음과 같습니다:
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 3306), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => env('DB_PREFIX', ''), 'timezone' => env('DB_TIMEZONE','+00:00'), 'strict' => false, ],
여기에는 데이터베이스에 대한 시간대 설정이 있습니다. 기본값은 +00:00이며 이는 UTC 시간으로 변경하면 문제가 해결됩니다. 프로젝트에서 .env 구성 파일을 활성화했기 때문에
DB_TIMEZONE=+08:00
database 줄이 마침내 .env에 추가되었습니다. file.timezone 문제가 해결되었습니다. DB_TIMEZONE=+08:00
数据库 timezone 问题解决。
数据库的 timezone 问题虽然解决了, 但是 app 的 timezone 问题还没解决, 全局搜索 lumen 项目, 找用到 timezone 的地方, 在 /vendor/laravel/lumen-framework/src/Application.php
文件中找到了初始化 lumen timezone 部分的代码
/** * Create a new Lumen application instance. * * @param string|null $basePath * @return void */ public function __construct($basePath = null) { date_default_timezone_set(env('APP_TIMEZONE', 'UTC')); $this->basePath = $basePath; $this->bootstrapContainer(); $this->registerErrorHandling(); }
代码中使用的 .env 参数为 APP_TIMEZONE, 值为 UTC, 在这里将 UTC 改为 PRC, 或者在 .env 文件里添加
APP_TIMEZONE=PRC
APP_TIMEZONE=PRC
lumen .env 파일의 PHP 시간대 설정 문제가 해결되었습니다.
루멘 시간대 설정 요약.env 파일을 편집하여 구성 추가
APP_TIMEZONE=PRC DB_TIMEZONE=+08:00
/vendor/laravel/lumen-framework/config/database.php /vendor/laravel/lumen-framework/src/Application.php
.env 구성 파일 활성화
Lumen 루트 디렉터리의 .env.example 파일 이름을 .env로 바꾸고, /bootstrap/ 앱을 편집합니다. .php에서 다음 코드 줄의 주석 처리를 제거합니다.
because lumen defaults To GMT를 사용하려면 베이징 시간으로 변환해야 합니다.
APP_TIMEZONE=PRC
#🎜🎜 #관련 추천 :
php 언어 주석, 한 줄 주석 및 여러 줄 주석 관련 콘텐츠
#🎜 🎜## 🎜🎜#
위 내용은 루멘타임존 시간대 설정방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!