2013-08-15 3 views
3

В bootstrap/start.php я следующее:Почему Laravel использует неверный файл базы данных после настройки среды?

$env = $app->detectEnvironment(function() 
{ 
    if($myenv = getenv('APPLICATION_ENV')): 
     return $myenv; 
    else: 
     return 'local'; 
    endif; 
}); 

ИТАК установки я локальную папку и поместить в database.php файл с моими локальными связями.

Для того, чтобы убедиться, что подбирает правильную окружающую среду, поставлю в шаблон: {{ App::environment(); }}, который выводит local.

Но при создании БД называют его дает мне ошибку: Undefined index: DB1_HOST

Моя база (производство) database.php файл имеет:

'host'  => $_SERVER["DB1_HOST"], 
'database' => $_SERVER["DB1_NAME"], 
'username' => $_SERVER["DB1_USER"], 
'password' => $_SERVER["DB1_PASS"], 

Почему смотрит на файл производственной базы данных?

+1

Является файл в 'приложение/Config/местные/database.php'? –

+0

да правильный. если я мигрирую и использую env = local, он выбирает это! – Lee

+1

Где вы делаете звонки? Если в CLI вам нужно указать '--env = local'. Кроме того, учитывая то, что вы делаете свою локальную среду по умолчанию и конкретно определяете производство, просто так, что вы никогда не делаете дефолт «случайно» (так как это может, очевидно, привести к ужасным событиям). – fideloper

ответ

0

Если вы пытаетесь использовать ремесленник в терминале, и вы хотите установить переменные окружения один раз и навсегда, вы можете сделать:

export APPLICATION_ENV=local

И проверить вас текущую среду с помощью php artisan env

1

Сначала загружаются файлы конфигурации конфигурации, а затем объединяются с переопределениями из других сред. Если производственный файл генерирует ошибку (например, неопределенный индекс), загрузка конфигурации будет зависеть раньше, не загружая переопределения. В файле конфигурации производства проверьте, что значение установлено до попытки его использования, и локальный файл конфигурации загрузится правильно.

2

Laravel также хранит информацию о конфигурации в

bootstrap/cache/config.php 

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

+0

Это была моя проблема, спасибо за размещение решения годом ранее :) –

0

Очистить кэш конфигурации как это может повлиять на

php artisan config:cache

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