Laravel 5.2로 업그레이드 한 후 .env
파일 값이 읽혀지지 않습니다. 업그레이드 지침을 따랐습니다 . auth.php를 제외하고는 내 구성 파일이 변경되지 않았습니다. 이전 버전 5.1.19에서는 모두 잘 작동했습니다.
.env
다음과 같은 값을 포함합니다.
DB_DATABASE=mydb
DB_USERNAME=myuser
config/database.php
포함
'mysql' => [
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
]
이 오류가 발생합니다.
PDOException: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)
분명히 내 환경 구성을 가져 오지 않습니다. 이것은 bugsnag와 같은 타사를 포함하여 내 구성 파일의 모든 단일 파일에 영향을 미칩니다.
나는 또한 시도했다
php artisan config:clear
php artisan cache:clear
최신 정보
견딜 수 없는 php artisan tinker
>>> env('DB_DATABASE')
=> null
>>> getenv('DB_DATABASE')
=> false
>>> config('database.connections.mysql.database')
=> "forge"
>>> dd($_ENV)
[]
Laravel 5.2의 새 복사본을 설치해 보았습니다. 기본적으로 내 app
폴더 에만 복사했습니다 . 추가 작곡가 패키지는 포함되어 있지 않습니다. 여전히 같은 문제가 있습니다. 잘 작동하는 동일한 서버에 다른 Laravel 5.2 프로젝트가 있습니다.
답변
공식 Laravel 5.2 업그레이드 노트에서 :
config:cache
배포 중에 명령을
사용하는 경우 응용 프로그램의 다른 곳이 아닌 구성 파일 내 에서만 함수를 호출하는지 확인 해야합니다env
.
env
애플리케이션 내에서 호출하는 경우 적절한 구성 값을 구성 파일에 추가하고env
대신 해당 위치env
에서config
호출 하여 호출을 호출 로 변환 할 수 있도록 하는 것이 좋습니다 .
참조 : https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0
답변
귀하의 경우 .env
변수가 공백을 포함, 당신은 큰 따옴표를 포장해야합니다. 예를 들면 :
SITE_NAME="My website"
테스트하기 전에 캐시를 지우는 것을 잊지 마십시오.
php artisan config:cache
php artisan config:clear
답변
와. 맙소사. 따옴표로 묶지 않고 공백이있는 env 값이 있기 때문입니다.
이
SITE_NAME=My website
이것으로 변경
SITE_NAME="My website"
고쳤다. 나는 이것이 Laravel 5.2 에서 vlucas / phpdotenv 를 1.1.1에서 2.1.0으로 업그레이드하는 것과 관련 이 있다고 생각합니다.
답변
나를 위해 다음 순서로 작동했습니다.
php artisan config:cache
php artisan config:clear
php artisan cache:clear
그리고 나는 운없이 모든 나머지를 시도했습니다.
답변
비슷한 문제가 있었고 및 명령을 config/services.php
사용하여 해결했습니다 .config clear
optimize
php artisan config:clear
php artisan optimize
답변
나를 위해 다음이 작동했습니다.
- php artisan config:cache
- php artisan config:clear
- php artisan cache:clear
답변
이것을 실행하십시오 :
php artisan config:clear
php artisan cache:clear
그때
php artisan config:cache