Миграция Laravel Artisan извергает информацию php

У меня есть миграция, которую я пытаюсь запустить. Мне удалось создать его, используя:

php artisan migrate:make name_of_migration

Файлы отображаются правильно и все, но когда я пытаюсь запустить

php artisan migrate

Я просто получаю кучу php, извергающуюся (выглядит как один большой массив / объект или что-то в этом роде). Я оставил его работать на 36 часов, и это не закончилось, поэтому я думаю, что, должно быть, сделал что-то не так. Кто-нибудь знает, почему это может происходить? (Я не очень много работал с laravel / artisan, поэтому я не знаю тонкостей, например, есть ли файлы журналов или нет, поэтому любые советы будут оценены)


Было рекомендовано использовать

php artisan migrate:status

Это не только выдало массив, как раньше, но также дало следующее:

[InvalidArgumentException]                
Command "migrate:status" is not defined.  
Did you mean one of these?                
  migrate:reset                         
  migrate:refresh                       
  migrate:rollback                      
  migrate:install                       
  migrate                               
  migrate:make                          
  migrate:publish   

Также следует отметить, что я использую Laravel 4.2 и унаследовал этот сайт от кого-то другого. Я пытаюсь точно выяснить, что произошло, но похоже, что проблема с миграцией могла быть раньше, поскольку даже после того, как я удалил новую миграцию и запустил миграцию, она начала извергать php.


person Aram Papazian    schedule 10.11.2015    source источник
comment
Попробуйте удалить созданную вами миграцию, затем запустите php artisan migrate:status и заново создайте миграцию.   -  person Amo    schedule 10.11.2015
comment
Я попробовал это, и это не сработало. См. Обновленный вопрос о том, что он дал.   -  person Aram Papazian    schedule 10.11.2015
comment
@AramPapazian Возможно, вы захотите упомянуть в будущем версию Laravel, которую вы используете. Потому что migrate:status существует в Laravel 5, но не в Laravel 4.   -  person Bogdan    schedule 10.11.2015
comment
Да, с помощью Laravel 4.2 (просто обновлял вопрос с этой информацией)   -  person Aram Papazian    schedule 10.11.2015
comment
Было бы полезно, если бы вы разместили свой код миграции, а также выходные данные команды migrate.   -  person Bogdan    schedule 10.11.2015
comment
Я удалил код миграции и просто запускаю php artisan migrate на том, что было раньше. Он все еще извергает массивы PHP. Я бы опубликовал вывод, но, учитывая, что в прошлый раз он продолжал извергать информацию об объекте в течение 36 часов, я думаю, что вывод может быть немного большим, чтобы на самом деле публиковать .... Это буквально один большой объект php, который он, похоже, выводит . Странно то, что все миграции уже находятся в таблице миграции, поэтому я не знаю, что он пытается перенести без нового или почему не работает.   -  person Aram Papazian    schedule 10.11.2015
comment
Вы проверили другие миграции, чтобы узнать, есть ли у них действительный код? Если вы унаследовали приложение, последний человек мог оставить какой-то код, которому, возможно, не было места (возможно, неуместный / забытый дамп переменной).   -  person Bogdan    schedule 10.11.2015
comment
Есть около 100+ миграций o_O Но это верное предположение. Я попробую пройти и посмотрю, увижу ли что-нибудь. Но я бы предположил, что ремесленник не будет пытаться фактически загрузить файлы, которые он уже обработал в предыдущей попытке, не так ли?   -  person Aram Papazian    schedule 10.11.2015
comment
Хорошая мысль, и в этом вы действительно правы. Мигратор исключает любые миграции, которые были запущены и зарегистрированы в таблице migrations, поэтому мое предыдущее предложение может быть неверным.   -  person Bogdan    schedule 10.11.2015
comment
Хорошо, поэтому я просмотрел и выполнил поиск файлов с поиском var_dump и print. Ни в одном из файлов миграции не было никаких var_dump, и печать появлялась только в словах Blueprint. Я также искал эхо, строку, информацию и ошибку. Только ошибка дала результаты, но только при создании столбцов в таблицах, в которых имя столбца включало ошибку   -  person Aram Papazian    schedule 10.11.2015
comment
Давайте продолжим это обсуждение в чате.   -  person Bogdan    schedule 10.11.2015
comment
@AramPapazian Не могли бы вы опубликовать результат, который вы видите? Конечно, это укажет, откуда он.   -  person Mikel Bitson    schedule 10.11.2015


Ответы (2)


Итак, поговорив с @Bogdan некоторое время, мы поняли, что это не имеет ничего общего ни с одной из самих миграций. Ни в одной из миграций не было выходных сообщений, и все миграции были «завершены», но данные по-прежнему выдали. Даже при запуске в ролевом режиме (php artisan migrate --pretend) у нас были проблемы.

Сам код находился во внешней системе, к которой я подключался. При использовании моего локального php я получал ошибки, но когда я подключился к самому серверу, проблемы прекратились, поэтому мы предполагаем, что это проблема версии PHP. (Сервер 5.4, а я 5.5)

К сожалению, у нас нет времени понижать версию моего php, чтобы проверить эту гипотезу, поскольку мы нашли обходной путь, но я решил, что поставлю его здесь, на случай, если люди захотят узнать. Если у меня будет время перейти на более раннюю версию php и / или если я найду решение, я обязательно обновлю этот ответ тем, что я сделал, чтобы исправить проблему.

Большое спасибо @Bogdan за вашу помощь. Хотя он не заботился о точках и поэтому не хотел отвечать на вопрос, чтобы я мог его принять, он провел около часа со мной, пытаясь помочь отладить это. Так что супер спасибо =)

person Aram Papazian    schedule 10.11.2015

Вы должны вставить нам код / ​​ошибки, которые печатаются при запуске php artisan migrate, а также код внутри вашей миграции.

Я почти уверен, что ваш код плохой, и вы получаете ошибку. Также перенесите: статус не существует.

person Victor Souto    schedule 10.11.2015