Artisan:: вызов ('migrate') не работает после обновления Laravel до 4.2
Я использую Artisan:: call ('migrate'); в методе контроллера Laravel, и он работает, пока версия Laravel была 4.1. После обновления Laravel с помощью композитор обновление команда (и параметр "laravel / framework": "4.2.*" В композитора.js) этот метод контроллера (поскольку это единственная команда в нем) больше не работает.
Я даже добавил 'cipher' = > MCRYPT_RIJNDAEL_256 in/app/config / app.PHP как указано в http://laravel.com/docs/upgrade#upgrade-4.2
это уже происходит:http://laravel.io/forum/06-02-2014-not-able-run-artisan-commands
когда я ставлю Artisan:: call ('migrate') в контроллер блока try/catch выглядит так:
public function ArtMigr(){
try {
Artisan::call('migrate');
} catch (Exception $e) {
echo $e;
}
}
и я получаю следующую ошибку:
исключение '' с сообщение 'константы STDIN-предполагаемый "STDIN" в D:htdocsartisan_errorvendorsymfonyconsoleSymfonyComponentConsoleHelperQuestionHelper.php: 112 Трассировка стека: #0 D:htdocsartisan_errorvendorsymfonyconsoleSymfonyComponentConsoleHelperQuestionHelper.на PHP(112): ОсветитеExceptionHandler - >handleError(8, ' использование undefine...', 'D:htdocsartis...', 112, Array) #1 D:htdocsartisan_errorvendorsymfonyconsoleSymfonyComponentConsoleHelperQuestionHelper.на PHP(49): SymfonyComponentConsoleHelperQuestionHelper->doAsk(Object(SymfonyComponentConsoleOutputNullOutput), Объект (SymfonyComponentConsoleQuestionConfirmationQuestion)) #2 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateConsoleCommand.на PHP(186): SymfonyComponentConsoleHelperQuestionHelper->ask(Object(SymfonyComponentConsoleInputArrayInput), Объект (SymfonyComponentConsoleOutputNullOutput), Объект (SymfonyComponentConsoleQuestionConfirmationQuestion)) #3 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateConsoleConfirmableTrait.на PHP(21): ОсветитеConsoleCommand - >confirm ('вы действительно w...') #4 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateDatabaseConsoleMigrationsMigrateCommand.на PHP(59): ОсветитеDatabaseConsoleMigrationsMigrateCommand - >confirmToProceed ()5 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateConsoleCommand - ... PHP(с 112):
осветитьбаза данныхконсольмиграцииMigrateCommand - >огонь () #6 D:htdocsartisan_errorvendorsymfonyconsoleSymfonyComponentConsoleCommandCommand.на PHP(252): Загорается команды->консолиВыполнить(объект(на SymfonyкомпонентконсоливводArrayInput), Объект (SymfonyComponentConsoleOutputNullOutput)) #7 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateConsoleCommand.php (100): В Symfonyкомпонентконсоликомандукоманды->выполнить(объект(в SymfonyкомпонентконсоливводArrayInput), Объект (SymfonyComponentConsoleOutputNullOutput)) #8 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateConsoleApplication.на PHP(96): Загорается команды->консолизапуск(объект(на SymfonyкомпонентконсоливводArrayInput), Объект (SymfonyComponentConsoleOutputNullOutput)) #9 [внутренний функция]: подсветкаконсольприложение - > вызов ('migrate') #10 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateFoundationArtisan.на PHP(57): call_user_func_array(массив, массив) #11 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateSupportFacadesFacade.на PHP(208): IlluminateFoundationArtisan - > _ _ call ('вызов', массив) #12 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateSupportFacadesFacade.на PHP(208): IlluminateFoundationArtisan - > вызов ('migrate') #13 D:htdocsartisan_errorappcontrollersHomeController.на PHP(160): Подсветкаподдержкафасадыфасад:: _ _ callStatic ('call', Array) #14 D:htdocsartisan_errorappcontrollersHomeController.на PHP(160): Осветитьподдержкафасадыремесленник:: вызов ('migrate') #15 D:htdocsartisan_errorappcontrollersHomeController.на PHP(145): HomeController - >InstallDatabaseStructure () #16 D:htdocsartisan_errorappcontrollersHomeController.на PHP(127): HomeController - >WriteDatabaseCredentials ('localhost', 'что Laravel-aplikac...', 'root',") #17 [внутренняя функция]: HomeController - >postTestDatabaseConnection () #18 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingController.на PHP(231): call_user_func_array(массив, массив) #19 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingControllerDispatcher.на PHP(93): ОсветитеRoutingController - >callAction ('postTestDatabas...', Array)
20 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingControllerDispatcher.php (62):
подсветкамаршрутизацияControllerDispatcher - >вызов (объект (HomeController), Object (IlluminateRoutingRoute), ' postTestDatabas...') #21 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingRouter.на PHP(930): ОсветитьмаршрутизациюControllerDispatcher - >dispatch (объект (осветитьмаршрутизациюмаршрут), Объект (ОсветитьHttpRequest), 'HomeController', 'postTestDatabas...') #22 [внутренняя функция]: Осветитьмаршрутизациюмаршрутизатор - >осветитьмаршрутизацию{закрытие} () #23 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingRoute.php (105): call_user_func_array (объект (закрытие), массив) #24 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingRouter.на PHP(996): Осветитьмаршрутизациюмаршрут - >выполнить (объект (осветитьHttpзапрос)) #25 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateRoutingRouter.на PHP(964): Осветитьмаршрутизациюмаршрутизатор- > dispatchToRoute (объект (осветитьHttpзапрос))
26 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateFoundationApplication - ... на PHP(738):
подсветкамаршрутизациямаршрутизатор - >отправка (объект (подсветкаHttpзапрос))
27 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateFoundationApplication.на PHP(708):
осветитьFoundationApplication - >dispatch (объект (осветитьHttpRequest))
28 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateSessionMiddleware - ... на PHP(72):
осветитьFoundationApplication - >handle (Object (осветитьHttpRequest), 1, true) #29 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateCookieQueue.на PHP(47): Осветитьсеанспромежуточное ПО - >дескриптор (объект (осветитьHttpзапрос), 1, true) #30 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateCookieGuard.на PHP(51): ОсветитьCookieQueue- > handle (объект (осветитьHttpRequest), 1, правда) #31 D:htdocsartisan_errorvendorstackbuildersrcStackStackedHttpKernel.php (23): ОсветитьCookieGuard - > handle (объект (осветитьHttpRequest), 1, Правда) #32 D:htdocsartisan_errorvendorlaravelframeworksrcIlluminateFoundationApplication.на PHP(606): StackStackedHttpKernel - > дескриптор (объект (осветитьHttpзапрос)) #33 D:htdocsartisan_errorpublicindex.на PHP(49): ОсветитеFoundationApplication - >run () #34 {main}
все сделано правильно с моей стороны?
композитор.Яш содержит:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
"way/generators": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
3 ответов
Да, есть проблема на самом деле с последней версии,все предыдущие источники не работают, надо использовать :
Artisan::call('migrate', array('--force' => true));
проверено и работает нормально.
Use of undefined constant STDIN
кажется, ошибка Symfony, см. github.com/symfony/symfony/issues/10795.
A composer update
должно исправить вашу проблему.
Я думаю, вы должны добавить '-n'=>true
на ваш призыв
так как вы находитесь в производстве и "вы уверены, что вопрос уволен"
так это будет как
Artisan::call('migrate',array('-n'=>true));