Intereting Posts
создание маршрутизатора PHP Проблема с разрешением загрузки PHP Получение минимальной суммы заказа для метода «Бесплатная доставка» на странице проверки Как запустить и остановить сервер PHP dev с помощью exec () Регулярное выражение для комментариев и многострочных комментариев и пустых строк Как написать php тернарный оператор со значением массива Присоединение к циклу обработки ошибок включить отключить выбор / выпадающий выбор радио Ошибки PHP из-за ошибки синхронизации Сохранить несколько абсолютных изображений как один Анализ файла CSS с помощью PHP Можно ли полагаться на IP-адрес Paypal исключительно для регистрации покупок? Как подключить несколько баз данных в инфраструктуре phalcon в то же время использовать как в классе модели не только один Как предотвратить дублирование имен пользователей в php / mysql как предотвратить файл PHP_get_contents ()

Laravel 4.2 говорит, что мое приложение находится в производстве. Как отключить это?

У меня есть новая установка 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 в терминале.

Надеюсь, что это кому-то поможет!