2015-04-10 4 views
2

У меня есть 2 проекта Laravel 5 (проект A & Проект B) работает на WAMP.Проект Laravel использует переменную .env из другого проекта

Конфигурация базы данных для обоих проектов находится в файле .env.

Все работает отлично в обоих проектах, однако, когда я делаю запрос от проекта A к проекту B с помощью curl или file_get_contents().

Project B использует конфигурацию базы данных из файла .env проекта А.

Правильный DB конфигурация загружается, если вместо того, чтобы использовать .env файл, я устанавливаю конфигурацию базы данных непосредственно в конфигурационном файле/database.php.

Кто-нибудь знает, почему это происходит? и как этого избежать?

+0

Вы проверили параметры подключения sql select_db в коде? – Misunderstood

+0

Все выглядит отлично в MySqlConnector.php. Проблема должна быть в библиотеке vlucas/phpdotenv, так как она отлично работает, если мы не используем переменную .env. – Yog

+0

поэтому у проекта a и b есть собственный экземпляр laravel, правильно? Попробуйте 'comper dump-autoload'. Возможно, где-то есть неправильный путь. Вы копировали проект B из проекта A? внесли ли вы изменения в файл /vendor/composer/autoload_real.php? (** <- никогда не делайте этого! используйте 'comper dump-autoload' для этого **) –

ответ

0

Вы можете изменить конфигурацию базы данных в .env файл и в файле базы данных и сделать это не нравится другой проект

DB_HOST_SITE=my_database 
DB_DATABASE_SITE=my_database 
DB_USERNAME_SITE=root 
DB_PASSWORD_SITE=password 

и в database.php файла

'host'  => env('DB_HOST_SITE', 'localhost'), 
'database' => env('DB_DATABASE_SITE', ''), 
'username' => env('DB_USERNAME_SITE', ''), 
'password' => env('DB_PASSWORD_SITE', ''), 
0

вам необходимо установить .env DB_ {tag} _DATABASE = имя_базы, Установить несколько групп соединений в базе данных.php

модель определяет соединение {tag}.

это системный кеш для .env.

Смежные вопросы