Ошибка в Laravel SQLSTATE[HY000] [2002] Connection refused

Ставил проект Laravel на хостинг, переделал все настройки подключения к базе, как надо, но работать упорно отказывалось, выкидывая ошибку  SQLSTATE[HY000] [2002] Connection refused. Эта ошибка означает, что нет соединения с базой данных и первый же запрос к ней заканчивается таким вот исключением. Одна из причин такой ошибки может быть выключенный драйвер PDO, так как Laravel использует его для запросов. Рекомендуют проверить в php.ini строку

;extension=php_pdo_firebird.dll

чтобы не было точки с запятой вначале. Если она есть, убрать её. В других источниках указывается, что в новых версиях Laravel, начиная с 5.4, этого можно и не делать. В службе поддержки хостинга посоветовали обратиться к разработчикам Laravel за разъяснением ошибки. Я сразу захотел написать серию статей об ошибках при работе с Laravel, которые заканчиваются такой мудрой фразой.

Но, как оказалось, всё гораздо проще. Настройки Laravel кэшируются, и если после заливки проекта на хостинг, его не очистили, используются те настройки, которые использовались раньше, когда вы разрабатывали проект. Нужно использовать команду очистки кэша

php artisan config:cache

Если такой возможности нет, зайти в папку <корневая папка>/bootstrap/cache переименовать файл config.php на config.php_old и перезагрузить браузер. Всё должно заработать.

Вам понравиться

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *