2013-04-27 2 views
9

Просто играя с Laravel 4 в первый раз после использования версии 3 для нескольких проектов, но, похоже, не может заставить Artisan работать вообще. Я сделал кучу поиска и следил за действиями по устранению неполадок, которые я мог найти, но не повезло.Laravel 4 Artisan не работает вообще

  • У меня Mcrypt установлена ​​
  • Я не имел самозагрузок/compiled.php файла для удаления
  • У меня есть последняя версия рамки с Github
  • Я нахожусь на последнюю версию Composer

Когда я пытаюсь "обновить композитор" Я получаю эту ошибку:

Script php artisan optimize handling the post-update-cmd event returned with an error: 

... без дополнительной информации.

Пытаться запустить «список php artisan» или любую другую команду artisan просто не дает мне никакого вывода.

Любые идеи?

+0

Возможно, попробуйте команду optimize [с опцией --verbose] (https://github.com/laravel/framework/issues/1050)? Кроме того, что-нибудь в ваших журналах PHP? Какую версию PHP вы используете? – halfer

+0

Не повезло с опцией --verbose. Где будут храниться журналы PHP для таких вещей, которые запускаются локально? Я привык проверять файл error_log на сервере, но не уверен, когда делаю это так. Запуск 5.4.4 – ARW

+0

Он будет настроен в вашем 'php.ini', [см. Здесь] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log). Я не использовал Composer, но мне интересно, если он подавляет критическую ошибку (например, модуль PHP, который ему нужен). Вы проверили наличие Mcrypt (что из вашего вопроса, который я предполагаю, что это необходимо) на консоли, в отличие от веб-сервера? – halfer

ответ

9

Чтобы обобщить обсуждение в комментариях, мы обнаружили, что добавление регистрации на уровне php.ini показало ошибку PHP, о которой не сообщалось в интерфейсе консоли Composer. Интересно, установили ли вы Composer как root, и поэтому некоторые важные файлы, требуемые Laravel, были невидимы для не-привилегированного пользователя.

+1

Приступив к этому чуть позже, просто хотел упомянуть, что ремесленник, по умолчанию, регистрируется в приложении/storage/logs/log-cli- .txt. У меня был ошибочный интерфейс зависимостей, и все ошибки php попадали в этот файл. – ontek

2

После запуска phpinfo я заметил, что «--disable-mbregex» был частью конфигурации PHP, то есть PHP не был скомпилирован с расширением mbregex. Мои журналы ошибок показывали «Вызов неопределенной функции mb_regex_encoding».

Как только PHP был перекомпилирован с помощью mb_regex_encoding, проблема исчезла.

2

Если вам не доставлен файл /bootstrap/start.php, вы не получите полезные сообщения об ошибках от ремесленника и композитора. Я обошел и попытался найти решения, которые я нашел в Интернете, и в конечном итоге обнаружил, что этот файл отсутствует. Я вернулся в Интернет, как только я его заменил. Я обнаружил, что этот файл отсутствовал в моих журналах ошибок PHP, и ремесленник не создавал журналы, так как он не мог работать.

2

У меня была аналогичная проблема. Даже команда $ php artisan --verson не выдавала никакого результата. Оказалось, у меня был код под app/start/global.php, который ломался под выполнение CLI (но не разбивался на веб-странице).

Так что это еще одно место для проверки вещей! (app/start/global.php)

2

У меня возникла эта проблема, и это было потому, что в подкаталогах storage еще не было.

Конечно, эти каталоги создаются сценарием, создающим проект, но их легко удалить из исходного контроля и так будет отсутствовать в недавно клонированном проекте. Файлы .gitignore находятся там по какой-то причине!

1

Эта проблема возникла для меня, когда были файлы в папке storage, которые не были доступны для записи для текущего пользователя. php artisan бесшумно, без вывода. Смена разрешений помогла.

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