software mvc mejor framework curva cual aprendizaje php symfony laravel laravel-4

mvc - php framework



Artisan:: call(''migrate'') no funciona después de actualizar Laravel a 4.2 (3)

Estoy usando Artisan :: call (''migrate''); en un método de controlador de Laravel y que funciona mientras que la versión de Laravel era 4.1. Después de actualizar Laravel usando el comando de actualización del compositor (y establecer "laravel / framework": "4.2. *" En composer.js) este método de controlador (ya que este es el único comando en él) ya no funciona.

Incluso he agregado ''cipher'' => MCRYPT_RIJNDAEL_256 en /app/config/app.php como se indica en http://laravel.com/docs/upgrade#upgrade-4.2

Eso ya sucede: http://laravel.io/forum/06-02-2014-not-able-run-artisan-commands

Cuando pongo Artisan :: call (''migrate'') en el controlador try / catch block se ve así:

public function ArtMigr(){ try { Artisan::call(''migrate''); } catch (Exception $e) { echo $e; } }

Y recibo el siguiente error:

excepción ''ErrorException'' con el mensaje ''Uso de constante indefinida STDIN - se supone'' STDIN '''' en D: / htdocs / artisan_error / vendor / symfony / console / Symfony / Component / Console / Helper / QuestionHelper.php: 112 Stack trace: # 0 D: / htdocs / artisan_error / vendor / symfony / console / Symfony / Component / Console / Helper / QuestionHelper.php (112): Illuminate / Exception / Handler-> handleError (8, ''Uso de undefine ...'', ''D : / htdocs / artis ... '', 112, Matriz) # 1 D: / htdocs / artisan_error / vendor / symfony / console / Symfony / Component / Console / Helper / QuestionHelper.php (49): Symfony / Component / Console / Helper / QuestionHelper-> doAsk (Object (Symfony / Component / Console / Output / NullOutput), Object (Symfony / Component / Console / Question / ConfirmationQuestion)) # 2 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Console / Command.php (186): Symfony / Component / Console / Helper / QuestionHelper-> ask (Object (Symfony / Component / Console / Input / ArrayInput), Object (Symfony / Component / Console / Output / NullOutput), Objeto (Symfony / Component / Console / Question / Confirm ationQuestion)) # 3 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Console / ConfirmableTrait.php (21): Illuminate / Console / Command-> confirm (''¿Realmente quieres ...'') # 4 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Database / Console / Migrations / MigrateCommand.php (59): Illuminate / Database / Console / Migrations / MigrateCommand-> confirmToProceed ()

5 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Console / Command.php (112):

Illuminate / Database / Console / Migrations / MigrateCommand-> fire () # 6 D: / htdocs / artisan_error / vendor / symfony / console / Symfony / Component / Console / Command / Command.php (252): Illuminate / Console / Command- > execute (Objeto (Symfony / Component / Console / Input / ArrayInput), Object (Symfony / Component / Console / Output / NullOutput)) # 7 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Console / Command.php (100): Symfony / Component / Console / Command / Command-> run (Object (Symfony / Component / Console / Input / ArrayInput), Object (Symfony / Component / Console / Output / NullOutput)) # 8 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Console / Application.php (96): Illuminate / Console / Command-> run (Object (Symfony / Component / Console / Input / ArrayInput), Object (Symfony / Component / Console / Output / NullOutput)) # 9 [función interna]: Illuminate / Console / Application-> call (''migrate'') # 10 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Foundation / Artisan.php (57): call_user_func_array (Array, Array) # 11 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Support / Facades / Facade.php (208): Illuminate / Foundation / Artisan -> __ call (''call'', Array) # 12 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Support / Facades / Facade.php (208): Illuminate / Foundation / Artisan-> call (''migrate'') # 13 D: / htdocs / artisan_error / app / controllers / HomeController.php (160) : Illuminate / Support / Facades / Facade :: __ callStatic (''call'', Array) # 14 D: / htdocs / artisan_error / app / controllers / HomeController.php (160): Illuminate / Support / Facades / Artisan :: call ('' migrate '') # 15 D: / htdocs / artisan_error / app / controllers / HomeController.php (145): HomeController-> InstallDatabaseStructure () # 16 D: / htdocs / artisan_error / app / controllers / HomeController.php (127): HomeController -> WriteDatabaseCredentials (''localhost'', ''laravel-aplikac ...'', ''root'', '''') # 17 [función interna]: HomeController-> postTestDatabaseConnection () # 18 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / Controller.php (231): call_user_func_array (Ar ray, Array) # 19 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / ControllerDispatcher.php (93): Illuminate / Routing / Controller-> callAction (''postTestDatabas ...'', Array)

20 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / ControllerDispatcher.php (62):

Illuminate / Routing / ControllerDispatcher-> call (Object (HomeController), Object (Illuminate / Routing / Route), ''postTestDatabas ...'') # 21 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / Router.php (930): Illuminate / Routing / ControllerDispatcher-> dispatch (Object (Illuminate / Routing / Route), Object (Illuminate / Http / Request), ''HomeController'', ''postTestDatabas ...'') # 22 [internal función]: Illuminate / Routing / Router-> Illuminate / Routing {closure} () # 23 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / Route.php (105): call_user_func_array (Object ( Cierre), matriz) # 24 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / Router.php (996): Illuminate / Routing / Route-> run (Object (Illuminate / Http / Request) ) # 25 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Routing / Router.php (964): Illuminate / Routing / Router-> dispatchToRoute (Object (Illuminate / Http / Request))

26 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Foundation / Application.php (738):

Illuminate / Routing / Router-> dispatch (Object (Illuminate / Http / Request))

27 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Foundation / Application.php (708):

Illuminate / Foundation / Application-> dispatch (Object (Illuminate / Http / Request))

28 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Session / Middleware.php (72):

Illuminate / Foundation / Application-> handle (Object (Illuminate / Http / Request), 1, verdadero) # 29 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Cookie / Queue.php (47): Illuminate / Session / Middleware-> handle (Object (Illuminate / Http / Request), 1, verdadero) # 30 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Cookie / Guard.php (51): Illuminate / Cookie / Queue-> handle (Object (Illuminate / Http / Request), 1, verdadero) # 31 D: / htdocs / artisan_error / vendor / stack / builder / src / Stack / StackedHttpKernel.php (23): Illuminate / Cookie / Guard-> handle (Object (Illuminate / Http / Request), 1, verdadero) # 32 D: / htdocs / artisan_error / vendor / laravel / framework / src / Illuminate / Foundation / Application.php (606): Stack / StackedHttpKernel-> handle (Object (Illuminate / Http / Request)) # 33 D: / htdocs / artisan_error / public / index.php (49): Illuminate / Foundation / Application-> run () # 34 {main}

¿Todo está hecho correctamente de mi lado?

composer.js contiene:

{ "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" }



Creo que debes agregar un ''-n''=>true a tu llamada

ya que está en producción y una pregunta "¿está seguro de que se disparó?"

entonces será como

Artisan::call(''migrate'',array(''-n''=>true));


Sí, realmente hay un problema con la última versión, todas las fuentes anteriores no funcionan, debería usar:

Artisan::call(''migrate'', array(''--force'' => true));

Probado y funcionando bien.