Я решил эту проблему, установив проект, который использует Entity Framework в качестве стартового проекта, а затем запустил команду «update-database».
После более глубокого поиска (читайте безумный googling) я нашел здесь проблему и решение
. В нижней строке, когда сайт A принимает запрос, php загружает переменные .env для всей длины запроса http. Во время этого запроса, когда сайт A вызывает сайт B, поскольку они находятся на том же сервере, на котором работает тот же php, php все еще использует .env с сайта A и отдельно не загружает файл .env сайта B.
Лучшее объяснение автора:
Файл .env с переменными был создан так, чтобы люди не вводили свои учетные данные в репозитории github и в других местах, где они могут совместно использовать источник.
Теперь, будучи переменными среды, они становятся системными в течение всего времени HTTP-запроса (в этом случае выполнение скрипта). Дело в том, что у вас есть длинный сценарий.
Чтобы найти окончательное решение, вы можете пойти одним из трех способов.
....
«namespace» - переменные ENV.
blockquote>
Это скорее комментарий, чем ответ, но у меня пока нет комментариев. У меня была аналогичная проблема, и я могу помочь.
Если эти два приложения используют общие каталоги, laravel использует файловую систему для кэширования по умолчанию.
Если вы хотите разделить базу кода с двумя разными подключениями к базе данных, вместо этого используйте базу данных для кэширования. Вы можете опубликовать перенос для создания таблицы кэша с помощью команды artisan php artisan cache:table
. Затем просто запустите php artisan migrate
и измените строку CACHE_DRIVER
в вашем .ENV-файле на 'database'
php artisan serve
для разных портов – Musa 3 December 2017 в 15:03