Larry et al.,
After working through several web applications I have started to work on a console application. To get started I created a simple class in in the commands folder called SayHelloConsole.php. When I try to run the application ./yiic SayHello I receive the following error:
$ ./yiic sayhello PHP Fatal error: Cannot redeclare class SayHello in /var/www/myapp/protected/commands/SayHelloCommand.php on line 6
I have no other classes with the same name and I cannot track down where an additional import is taking place. I have tried removing:
'import'=>array( 'application.commands.*', ),
from console.php, but then yiic fails because it cannot find the class file. I have googled and reviewed other reports of the problem, however I cannot find a solution to my problem. I have also tried the same command on two different Yii installations and still have the same issue. If I don't import 'application.commands' yiic cannot find the file and if I do, I get the 'cannot redeclare class' error. Any suggestions?
Thanks,
Bart
My application is in the file SayHelloCommand.php
<?php class SayHello extends CConsoleCommand{ public function run($args){ echo "Hello!\n"; } }
My console configuration is console.php
<?php return array( 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'name'=>'Console', // preloading 'log' component // autoloading model and component classes 'import'=>array( 'application.commands.*', ),
);