У меня есть 2 приложения Laravel, работающие на одном сервере. Сервер Apache 2.4, и у меня есть vhosts, настроенные для обслуживания каждого приложения в другом домене.Два приложения Laravel на одном и том же сервере конфликтуют друг с другом
Первое приложение является API, и это .env файл устанавливается следующим образом:
APP_ENV=production
APP_KEY=YYYYYYYYYYYYYYYYYY
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=https://notify.mysite.com
APP_DOMAIN=notify.mysite.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=notify
DB_USERNAME=YYYYYYYYYYYYYYYYYY
DB_PASSWORD=YYYYYYYYYYYYYYYYYY
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
Второе приложение представляет собой интерфейс, который помимо всего прочего, использует API от первого применения. Его .env файл устанавливается следующим образом:
APP_ENV=local
APP_KEY=XXXXXXXXXXXXXX
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=https://asapps.mysite.com
APP_DOMAIN=asapps.mysite.com
APP_VERSION=1
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=asapps
DB_NOTIFY_DATABASE=notify
DB_FLIGHT_DATABASE=flights
DB_USERNAME=XXXXXXXXXXXXXX
DB_PASSWORD=XXXXXXXXXXXXXX
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
Я могу отправлять сообщения в мой API от моего редактора Swagger, от Почтальон, и с других серверов и все работает, как ожидалось.
Мое второе приложение само по себе также работает должным образом.
Однако, если мое второе приложение отправляет запрос к API, приложение API выдает эту ошибку:
exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'asapps.preprocessor_config' doesn't exist' in C:\notify\vendor\laravel\framework\src\Illuminate\Database\Connection.php:332
WTH?
База данных для API установлена в DB_DATABASE = уведомляет, и она определенно правильно использует это соединение при отправке сообщений с других серверов. Так почему же он пытается использовать базу данных второго приложения , когда я вызываю API из этого приложения ??? Его почти так же, как он кэширует соединение с БД и пытается использовать тот же самый ... Как это остановить?
Table 'asapps.preprocessor_config' doesn't exist'
изменить ваш конфигурационный/database.php изменения DB_DATABASE во втором приложении к DB_DATABASE2 и обновить файл .env для ссылки на DB_DATABASE2 и посмотреть, если это помогает решить проблему. –
@SariYono same issue :( – DelightedD0D