Laravel 4: php artisan не определен

Сегодня я обновил свою установку Laravel следующими командами (через несколько дней после даты выпуска Laravel 4):

php composer self-update
php composer update

Вы можете посмотреть мой файл composer.json здесь: http://paste.laravel.com/umX

В Документах я узнал о режиме обслуживания... (http://laravel.com/docs/configuration#maintenance-mode) Попытка использовать его возвращает:

[InvalidArgumentException]      
Command "down" is not defined.

Команда, которую я ввел в терминал для этого исключения:

php artisan down

Моя текущая версия:

php artisan --version
Laravel Framework version 4.0.0

Любые идеи? Я что-то пропустил, возможно, я все еще на какой-то старой версии?

Заранее спасибо и с наилучшими пожеланиями, Мартин.


person Martin    schedule 31.05.2013    source источник


Ответы (4)


Первое, что я предлагаю вам сделать, это просто запустить php artisan list, чтобы получить список всех доступных команд. Если команды up и down отсутствуют в списке, возможно, вы не полностью обновлены.

Если у вас есть файл bootstrap/compiled.php, попробуйте удалить его. Также убедитесь, что вы загружаете последние изменения из репозитория laravel/laravel GitHub, чтобы обновить скелет вашего приложения.

После того, как вы сделали все вышеперечисленное, вы можете снова проверить наличие команд, запустив php artisan list.

person Jason Lewis    schedule 01.06.2013
comment
›› Также убедитесь, что вы загружаете последние изменения из репозитория laravel/laravel GitHub, чтобы обновить скелет вашего приложения. Это была мысль создателя спокойствия, спасибо! - person Martin; 01.06.2013

Исправление для меня состояло в том, чтобы обновить массив «поставщиков» в ./app/config/app.php. Я думал, что проделал довольно хорошую работу по ручному обновлению скелета L4 ближе к концу периода бета-тестирования, но в этом массиве было небольшое изменение (не знаю, какая строка), которое позволило команде «вниз», наконец, появиться в ремесленнике. .

person Rufhausen    schedule 03.06.2013
comment
Да, это был определенно мой устаревший скелет (после новой установки я также обнаружил, что это HTML:: снова, а не Html:: больше: D) Спасибо за ваш ответ. - person Martin; 04.06.2013

В app/start/global.php (или app/start/artisan.php) вам нужно:

App::down(function() { return Response::make("Be right back!", 503); });

не так ли?

Возможно, вы также можете попробовать обновить laravel через композитор «обновление композитора» в CLI.

person Rob W    schedule 31.05.2013
comment
Спасибо за ответ, я пытался добавить его в оба файла, но это не исправит. Также, насколько я понимаю, ничего не нужно делать, чтобы эта ремесленная команда работала по умолчанию. Ваш код будет определять только ответное сообщение для вывода, когда приложение находится в режиме обслуживания, не так ли? Мне кажется, что моя установка Laravel не обновляется правильно: S - person Martin; 01.06.2013

Я только что установил чистый клон Laravel 4 и попробовал с ним режим обслуживания.

Все работает как положено...

Я также сравнил файлы composer.json + я почти уверен, что не сделал ничего плохого при обновлении до стабильной версии, даже если мои php-файлы app/start/* остались неизменными.

Обзор:

Composer, похоже, не переопределяет файлы php в app/start/*, которые необходимы для правильной работы режима обслуживания. Вероятно, есть еще больше файлов, которые не обновляются. Это также имеет большой смысл, поскольку вы могли бы внести некоторые важные изменения в свое приложение.

Поправьте меня, если я ошибаюсь... Я начну импортировать свой пакет в чистую установку. Не хочется из-за этого нажить еще больше неприятностей.

С уважением, Мартин.

person Martin    schedule 01.06.2013