У меня есть новая установка Laravel. При запуске php artisan migrate:refresh
я получаю сообщение о том, что Application In Production! Do you really wish to run this command?'
Application In Production! Do you really wish to run this command?'
Я знаю, что это обновление в 4.2, однако я не могу понять, как отключить его.
Я обнаружил в источнике, что он исходит из Illuminate\Console\ConfirmableTrait
и запускается, если этот тест проходит: if ($this->getLaravel()->environment() == 'production')
Я не уверен, почему он думает, что я на производстве. Я никогда не настраивал среды. Это обнаружение среды по умолчанию, которое я до сих пор использую.
$env = $app->detectEnvironment(array( 'local' => array('homestead') ));
Кроме того, если я устанавливаю производственную среду на имя хоста, которое не является моей машиной, у меня все еще есть такая же проблема.
Просто укажите имя машины для хоста, которое соответствует заданной среде, затем laravel
автоматически определит среду (по умолчанию – production
), например:
$env = $app->detectEnvironment(array( //'local' => array('homestead'), 'local' => array('*.dev', gethostname()), 'production' => array('*.com', '*.net', 'www.somedomain.com') ));
Прочтите документацию и этот ответ .
Настройка среды для чего-то другого, кроме производства, – это правильный путь. См. Принятый ответ.
Но если вы ищете A Quick Fix, вы можете использовать (в средах UNIXoid):
yes | php artisan migrate:refresh
Все, что это делает, это отправить поток «y» в программу, который действует так, как вы нажимали «y» при появлении запроса.
Я считаю, что это немного лучше, чем --force
, поскольку не все команды ремесленников поддерживают силу.
Если кто-то наткнулся на этот вопрос при поиске аналогичной проблемы в установке lumen
я бы предложил проверить файл .env
и добавить APP_ENV=local
если его еще нет. Это решило мою проблему.
Надеюсь, это поможет кому-то другому. У меня внезапно возникла проблема, когда мой сайт-разработчик перестала подключаться к БД, говоря:
PDOException SQLSTATE[HY000] [1049] Unknown database 'forge' failed
Я также получал ошибки, такие как OP при попытке запустить artisan migrate:refresh
т. Д., Ошибка заключалась в том, что я был в производстве и т. Д. И т. Д.
После большой царапины головы (!) Я обнаружил, что значение моего хоста, установленное внутри /bootstrap/start.php, было неправильным, потому что мое имя хоста изменилось на моем macbook pro !? Я понятия не имею, как это изменилось с чем-то вроде RobMacbookPro2.local
до RobMacbookPro.local
. Это означало, что он вернулся к производству, загрузив неверный файл database.php со стандартной DB = forge (что было неправильно)
Проверьте это руководство: http://laravel.com/docs/4.2/configuration
Обратите особое внимание на код:
<?php $env = $app->detectEnvironment(array( 'local' => array('your-machine-name'), ));
На mac и, возможно, linux? вы можете определить свое имя хоста, набрав # hostname
в терминале.
Надеюсь, что это кому-то поможет!