Laravel: Невозможно изменить соединение с БД с локального на удаленное. - PullRequest
0 голосов
/ 29 мая 2020

Что ж, это меня убивает.

Я пробовал все возможное, чтобы изменить соединение внутри проекта Laravel, но ничего не работает и остается привязанным к подключению к локальной базе данных, которое у меня есть. Это две базы данных, которые есть в моем проекте:

enter image description here

Большую часть времени я работал с локальной, но мне нужно запустить некоторые команды на производственный (я могу легко подключиться к MySQL Workbench, так как мой IP-адрес находится в белом списке), поэтому мне нужно его изменить. Моя конфигурация « .env » и моя « database. php» указывают на ip производственной базы данных, я выполнил все команды для очистки кеша php artisan config:clear -> php artisan cache:clear -> php artisan config:cache, и после этого я вижу также свой bootstrap / cache / config. php с правильными данными.

Я знаю, что читает мои .env, потому что если я изменю APP_ENV=production на APP_ENV=testdummychange и запущу php artisan env, изменения будут получены, как и ожидалось.

Tinker

Используя Tinker для проверки соединение, которое я вижу:

enter image description here

И я вызываю модель из Tinker, которая существует как в производственной, так и в локальной среде, но в локальной версии есть фиктивный тест и ВСЕГДА извлекает значение из локального:

enter image description here

И, несмотря на предупреждения, вы можете мгновенно увидеть тот же результат, я имею в виду, я знаю, что ничего не кэшируется:

enter image description here

Стоит отметить, что я использую XAMPP для запуска службы MySQL на порту 3306, и de несмотря на отсутствие здравого смысла, я начинаю думать, что этот клиент хранит какие-то учетные данные или что-то в этом роде, потому что нет другого места, где я мог бы разместить учетные данные БД в проекте Laravel.

Это есть ли другое возможное место, где хранятся мои учетные данные db в проекте Laravel / PHP? У меня нет идей.

1 Ответ

1 голос
/ 01 июня 2020

Хорошо, прежде всего спасибо @MaartenDevand и @Ryan Vincent, которые пытались мне помочь.

Для тех, кто может столкнуться с подобной проблемой, я обнаружил, что DB_SOCKET, настроенный в моем .env файле, который настраивает «unix socket», не работает удаленно, и это вызывает моя строка подключения должна быть переопределена.

Просто удалив клавишу DB_SOCKET, все снова работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...