Dev*_*xon 4 php command-line yii yii-cmodel
我正在尝试使用Yii在命令行上运行命令.我的方法需要一个模型,但是当我运行命令时,Yii说模型不存在,好像它没有自动加载它.我的课很简单:
class ImportCommand extends CConsoleCommand {
public function actionIndex() {
}
public function actionImport() {
ini_set("display_errors", 1);
set_time_limit(0);
$cores = Core::model() -> findAll(array('limit' => 300000));
foreach($cores as $core) {
$core -> syncLocation();
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误消息如下所示:
./yiic import import
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20090626/php_xsl.dll' - dlopen(/opt/local/lib/php/extensions/no-debug-non-zts-20090626/php_xsl.dll, 9): image not found in Unknown on line 0
PHP Error[2]: include(Core.php): failed to open stream: No such file or directory
in file /Users/dixond/Sites/nevada/yii/framework/YiiBase.php at line 421
#0 /Users/dixond/Sites/nevada/yii/framework/YiiBase.php(421): autoload()
#1 unknown(0): autoload()
#2 /Users/dixond/Sites/nevada/pub/webservice/protected/commands/ImportCommand.php(15): spl_autoload_call()
#3 unknown(0): ImportCommand->actionImport()
#4 /Users/dixond/Sites/nevada/yii/framework/console/CConsoleCommand.php(172): ReflectionMethod->invokeArgs()
#5 /Users/dixond/Sites/nevada/yii/framework/console/CConsoleCommandRunner.php(67): ImportCommand->run()
#6 /Users/dixond/Sites/nevada/yii/framework/console/CConsoleApplication.php(91): CConsoleCommandRunner->run()
#7 /Users/dixond/Sites/nevada/yii/framework/base/CApplication.php(169): CConsoleApplication->processRequest()
#8 /Users/dixond/Sites/nevada/yii/framework/yiic.php(33): CConsoleApplication->run()
#9 /Users/dixond/Sites/nevada/pub/webservice/protected/yiic.php(7): require_once()
#10 /Users/dixond/Sites/nevada/pub/webservice/protected/yiic(4): require_once()
Run Code Online (Sandbox Code Playgroud)
为了让Yii自动加载模型,我有什么特别的东西吗?
该yiic命令通常使用与Web应用程序不同的配置文件.
在import您的部分中定义所需的路径config/console.php,就像在您的部分中一样config/main.php.
Write this code in your config/console.php
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
),
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请访问http://www.yiiframework.com/doc/guide/1.1/en/topics.console
| 归档时间: |
|
| 查看次数: |
6231 次 |
| 最近记录: |