>  기사  >  PHP 프레임워크  >  laravel 프로젝트 출시로 인한 BUG(환경변수 문제)

laravel 프로젝트 출시로 인한 BUG(환경변수 문제)

不言
不言앞으로
2019-02-11 10:09:433237검색

라라벨 프로젝트 출시로 인해 발생하는 BUG(환경변수 문제)에 대한 내용입니다. 도움이 필요한 친구들에게 참고가 되었으면 좋겠습니다.

laravel 프로젝트의 특정 릴리스 이후 프로젝트에서 데이터베이스에 연결할 때 갑자기 오류가 발생했지만 머신에서 연결할 때 동일한 데이터베이스 계정과 비밀번호를 사용하면 괜찮았습니다.

임시 해결 방법

잠깐의 조사 끝에 원인을 찾을 수 없었습니다. 원래 데이터베이스 비밀번호는 DB_PASSWORD=abcde#142!*였습니다. 데이터베이스 비밀번호를 DB_PASSWORD=abcde2019로 변경한 후 정상으로 돌아왔습니다.

문제 해결 아이디어

비밀번호를 변경한 후 데이터베이스가 정상적으로 연결되는데 이는 비밀번호 문제임을 나타냅니다. 동시에 동일한 비밀번호로 프로젝트의 데이터베이스에 액세스하지 못하지만 성공적으로 액세스할 수 있습니다. 비밀번호 문제는 환경적인 문제로 인해 발생한 것으로 판단할 수 있습니다.

다음과 같이 프로젝트의 데이터베이스 연결 구성 로그를 인쇄합니다.

Array
(
    [driver] => mysql
    [host] => xxx
    [port] => xxx
    [database] => xxx
    [username] => xxx
    [password] => abcde
    [unix_socket] => 
    [charset] => utf8mb4
    [collation] => utf8mb4_unicode_ci
    [prefix] => 
    [strict] => 1
    [engine] => 
)

env에서 비밀번호 구성이 DB_PASSWORD=abcde#142!*,但是在PHP代码中读取的数据库密码配置为abcde임을 알 수 있으며, 보이는 # 뒤에 있는 내용은 코드에서 주석으로 간주됩니다. 이므로 무시됩니다.

jenkins 릴리스 로그를 계속 확인하고 로그 출력 부분을 찾으세요.

Package operations: 0 installs, 3 updates, 0 removals
  - Updating vlucas/phpdotenv (v2.5.2 => v2.6.0): Downloading (connecting...)Downloading (0%)           Downloading (15%)Downloading (100%)

릴리스 프로세스 중에 종속 패키지가 업그레이드됩니다.

vlucas/phpdotenv 문서를 확인하고 다음 지침을 참조하세요.

Comments

# 문자를 사용하여 .env 파일에 주석을 달 수 있습니다. 예를 들어

# this is a comment
VAR="value" # comment
VAR=value # comment

Solution

.env 파일에 비밀번호 필드를 추가하세요. DB_PASSWORD="abcde#142!*"와 같은 큰따옴표를 사용하면 모든 것이 정상으로 돌아옵니다.

예상치 못한 재난을 방지하기 위해 .env 파일의 환경 변수 구성에 ""를 추가하는 것이 좋습니다.


위 내용은 laravel 프로젝트 출시로 인한 BUG(환경변수 문제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제