Ошибка доступа к БД после обновления до laravel 5.8

Я обновляю laravel до 5.8 с 5.3, используя laravelshift шаг за шагом и тестируя каждое обновление, например

  • Обновление до 5.4, проверено
  • Обновление до 5.5, проверено ...
  • Обновление до 5.8, проверено

но когда я развертываю его на сервере, Linode Server с настройкой Cpanel, и я выбираю php7.2 в Mutiphp Manager для этого веб-сайта.

Теперь это отлично работает в локальной среде в усадьбе, но в реальном времени я получаю ошибку db «Доступ запрещен для пользователя« усадьба »@« локальный хост »(с использованием пароля: ДА)».

Я также пытался подключиться к БД с помощью инструмента командной строки mysql, и он работает с тем же паролем. Я также изменил пароль в cpanel и попробовал с новым паролем. ничего не работает.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
637
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

у вас может не быть базы данных с именем homestead на вашем сервере. Сначала создайте базу данных, а затем попробуйте подключиться.

Нет, имя базы данных, имя пользователя и пароль верны. Я подключился с помощью инструмента командной строки mysql, и он работает.

Sohail 02.04.2019 07:15

У меня была такая же проблема, когда я впервые использовал mariadb, возможно, в этой статье содержится решение вашей проблемы.

Посмотрите здесь: https://superuser.com/questions/603026/mysql-how-to-fix-access-denied-for-user-rootlocalhost

Ответ принят как подходящий

Изменение пароля на что-то более простое, например, только цифры и числовые символы, без специальных символов, таких как # или ( и т. д., у меня сработало.

Сложный пароль, который включает специальные символы, работал у меня с помощью инструмента mysql в командной строке, но вызывал ошибку при запуске php artisan install или запуске моего кода в браузере http://my-project.dev

+1 Это самый правильный ответ. # char создает проблему с 5.8, это также может исправить, заключить пароль из двойных кавычек DB_PASSWORD = "xxxx#"

Girish 29.08.2019 18:30

Несмотря на то, что OP нашел решение, используя пароль без специальных символов, настоящая причина этой проблемы заключается в том, что Laravel 5.8 использует новый пакет phpdotenv, который рассматривает символ # как начало комментария.

Из руководства по обновлению Laravel 5.8.

the # character in an unquoted value will now be considered a comment instead of part of the value.

To preserve the previous behavior, you may wrap the environment values in quotes:

Другие вопросы по теме