фон
После выпуска проекта laravel база данных соединений в проекте внезапно сообщила об ошибке, и можно подключиться на компьютере с тем же паролем учетной записи базы данных.
Временные решения
После непродолжительного расследования причина не была найдена, исходный пароль базы данных DB_PASSWORD=abcde#142!*
Измените пароль базы данных на DB_PASSWORD=abcde 2019
После этого он вернулся в нормальное состояние.
Следственная мысль
После смены пароля база данных может быть подключена нормально, что является проблемой с паролем. В то же время один и тот же пароль не смог получить доступ к базе данных в проекте, и к нему можно успешно получить доступ на компьютере. Можно судить, что проблема с паролем вызвана экологическими проблемами.
Распечатайте журнал конфигурации подключения к базе данных в проекте следующим образом:
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
Видно, что код содержимого после # считается комментарием, который игнорируется.
Продолжая просматривать журнал публикации Дженкинса, мы обнаружили вывод журнала:
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
В документе см. следующие инструкции:
Комментарии
Вы можете прокомментировать свой файл .env
, используя символ #
. Например.
# this is a comment VAR="value" # comment VAR=value # comment
Решение
В. файл env, в поле пароля добавляются двойные кавычки, например DB_PASSWORD="abcde#142!*"
, А затем все вернулось на круги своя.
Предполагается, что в файле env лучше добавить “” в конфигурацию переменных среды, чтобы избежать неожиданных катастроф.