I seem to be getting cryptic errors when I am trying to bake certain views and controllers. The models baked okay (one died with a similar message building tests), and all the controllers baked okay bar one with the following error message:

Error: `stream` not a ConsoleOutput nor string
#0 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Log/LogEngineCollection.php(43): ConsoleLog->__construct(Array)
#1 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Log/CakeLog.php(199): LogEngineCollection->load('stdout', Array)
#2 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(841): CakeLog::config('stdout', Array)
#3 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(176): Shell->_useLogger()
#4 [internal function]: Shell->__construct(Array)
#5 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Utility/ClassRegistry.php(168): ReflectionClass->newInstance(Array)
#6 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(1032): ClassRegistry::init(Array)
#7 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(858): Model->_constructLinkedModel('Projecttask', 'Projecttask', NULL)
#8 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(888): Model->__isset('Projecttask')
#9 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(459): Model->__get('Projecttask')
#10 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(285): ViewTask->_associations(Object(Project))
#11 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(224): ViewTask->_loadController()
#12 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(91): ViewTask->_interactive()
#13 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(111): ViewTask->execute()
#14 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#15 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#16 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#17 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#18 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#19 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#20 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#21 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#22 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#23 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#24 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#25 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#26 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#27 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#28 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#29 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#30 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#31 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#32 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#33 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#34 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#35 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#36 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#37 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#38 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#39 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#40 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#41 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#42 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#43 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#44 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#45 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(392): BakeShell->main()
#46 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/ShellDispatcher.php(200): Shell->runCommand(NULL, Array)
#47 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch()
#48 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/cake.php(50): ShellDispatcher::run(Array)
#49 {main}

When I bake views for a previously baked model and controller I get:

Error: `stream` not a ConsoleOutput nor string
#0 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Log/LogEngineCollection.php(43): ConsoleLog->__construct(Array)
#1 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Log/CakeLog.php(199): LogEngineCollection->load('stdout', Array)
#2 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(841): CakeLog::config('stdout', Array)
#3 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(176): Shell->_useLogger()
#4 [internal function]: Shell->__construct(Array)
#5 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Utility/ClassRegistry.php(168): ReflectionClass->newInstance(Array)
#6 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(1032): ClassRegistry::init(Array)
#7 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(858): Model->_constructLinkedModel('Projecttask', 'Projecttask', NULL)
#8 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Model/Model.php(888): Model->__isset('Projecttask')
#9 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(459): Model->__get('Projecttask')
#10 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(285): ViewTask->_associations(Object(Projecttasknote))
#11 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(224): ViewTask->_loadController()
#12 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/Task/ViewTask.php(91): ViewTask->_interactive()
#13 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Command/BakeShell.php(111): ViewTask->execute()
#14 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/Shell.php(392): BakeShell->main()
#15 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/ShellDispatcher.php(200): Shell->runCommand(NULL, Array)
#16 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch()
#17 /var/www/vhosts/raccoon/cakephp-cakephp-f02bc38/lib/Cake/Console/cake.php(50): ShellDispatcher::run(Array)
#18 {main}

Its very cryptic, if someone can tell me where to look, that would be great. I'm using the latest and greatest build of cake (2.3.5)

Thanks

有帮助吗?

解决方案

Ah. CakePHP 2 is rubbish.. CakePHP 1.3 is a lot better, seems to work and does not use stupid capital letters on the folder structures.

其他提示

I ran into the same problem and spent 2 hours debugging it. You seem to have made the exact same mistake I made.

CakePHP 2's model construction works by calling its model instances through \ReflectionClass. However, CakePHP 2 doesn't use namespaces.

What happens here is the following: CakePHP 2 already has a class called ProjectTask in /lib/Cake/Console/Command/Task/ProjectTask.php. You named one of your models Projecttask, so when the ReflectionClass tries to call your Projecttask model, it accidentally calls Cake's internal ProjectTask shell task, which expects a stream parameter, but instead gets your model's class and alias parameter.

So basically, rename your Projecttask model to something else. Also, namespaces are awesome.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top