LARAVEL автоматически переключает базу данных на запрос Curl [duplicate]

Я решил эту проблему, установив проект, который использует Entity Framework в качестве стартового проекта, а затем запустил команду «update-database».

4
задан DelightedD0D 6 February 2017 в 20:33
поделиться

2 ответа

После более глубокого поиска (читайте безумный googling) я нашел здесь проблему и решение

. В нижней строке, когда сайт A принимает запрос, php загружает переменные .env для всей длины запроса http. Во время этого запроса, когда сайт A вызывает сайт B, поскольку они находятся на том же сервере, на котором работает тот же php, php все еще использует .env с сайта A и отдельно не загружает файл .env сайта B.

Лучшее объяснение автора:

Файл .env с переменными был создан так, чтобы люди не вводили свои учетные данные в репозитории github и в других местах, где они могут совместно использовать источник.

Теперь, будучи переменными среды, они становятся системными в течение всего времени HTTP-запроса (в этом случае выполнение скрипта). Дело в том, что у вас есть длинный сценарий.

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

....

«namespace» - переменные ENV.

2
ответ дан DelightedD0D 18 August 2018 в 22:06
поделиться
  • 1
    Это хороший момент, решение, которое я получил в конце, заключалось в использовании разных экземпляров серверов, при разработке я использовал php artisan serve для разных портов – Musa 3 December 2017 в 15:03
  • 2
    @Musa, если вы используете apache, вы также можете объявить все свои переменные env непосредственно в объявлении vhost для каждого сервера. – DelightedD0D 3 December 2017 в 17:09

Это скорее комментарий, чем ответ, но у меня пока нет комментариев. У меня была аналогичная проблема, и я могу помочь.

Если эти два приложения используют общие каталоги, laravel использует файловую систему для кэширования по умолчанию.

Если вы хотите разделить базу кода с двумя разными подключениями к базе данных, вместо этого используйте базу данных для кэширования. Вы можете опубликовать перенос для создания таблицы кэша с помощью команды artisan php artisan cache:table

. Затем просто запустите php artisan migrate и измените строку CACHE_DRIVER в вашем .ENV-файле на 'database'

0
ответ дан D.Meganoski 18 August 2018 в 22:06
поделиться
  • 1
    Спасибо за ввод. У каждого приложения есть своя собственная папка, и у них нет файлов. – DelightedD0D 7 February 2017 в 00:50
  • 2
    Для усмешек я изменил его на «базу данных» и выполнил миграцию, такую ​​же проблему – DelightedD0D 7 February 2017 в 01:09
Другие вопросы по тегам:

Похожие вопросы: