我尝试在我的服务器上做一个cron,但是当我调用 www.mysite.com/cron 时,我遇到了这个错误:
exception 'CException' with message 'La propriété « CConsoleApplication.localeID » est indéfinie.' in /home/www/d82da705b703d092a63441c7d4c7c9a3/web/protected/yii/framework/base/CComponent.php:174 Stack trace: #0 /home/www/d82da705b703d092a63441c7d4c7c9a3/web/protected/yii/framework/base/CModule.php(483): CComponent->__set('localeID', 'ch') #1 /home/www/d82da705b703d092a63441c7d4c7c9a3/web/protected/yii/framework/base/CApplication.php(144): CModule->configure(Array) #2 /home/www/d82da705b703d092a63441c7d4c7c9a3/web/protected/yii/framework/YiiBase.php(128): CApplication->__construct('/home/www/d82da...') #3 /home/www/d82da705b703d092a63441c7d4c7c9a3/web/protected/yii/framework/YiiBase.php(116): YiiBase::createApplication('CConsoleApplica...', '/home/www/d82da...') #4 /home/www/d82da705b703d092a63441c7d4c7c9a3/web/cron.php(7): YiiBase::createConsoleApplication('/home/www/d82da...') #5 {main}
这是我的 cron.php 文件:
> $yii=dirname(__FILE__).'/protected/yii/framework/yii.php';
>
> $config=dirname(__FILE__).'/protected/config/productionCron.php';
> defined('YII_DEBUG') or define('YII_DEBUG',true);
>
> require_once($yii); // creating and running console application
> Yii::createConsoleApplication($config)->run();
这是配置/生产Cron.php
`<?php
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Cron',
'preload'=>array('log'),
'sourceLanguage'=>'fr',
'language'=>'fr',
'localeID'=>'ch',
'import'=>array(
'application.components.*',
'application.components.validators.*',
'application.components.rewriteRules.*',
'application.models.*',
'application.models.abstract.*',
'application.models.base.*',
'application.models.behaviors.*',
'application.models.tabs.*',
'application.views.widgets.*',
'application.views.widgets.button.*',
'application.views.widgets.input.*',
'application.views.widgets.zii.*',
'ext.behavior.*',
'ext.file.*',
'ext.mail.*',
'ext.menus.*',
'ext.menus.base.*',
'ext.widgets.*',
'zii.widgets.*',
'zii.widgets.grid.*',
),
'components'=>array(
'mail' => array(
'class' => 'ext.mail.YiiMail',
'transportType' => 'php',
'viewPath' => 'application.views.mail',
'logging' => true,
'dryRun' => false
),
'pathManager'=>array(
'class'=>'PathManager',
'baseUrl'=>$baseUrl,
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'logFile'=>'cron.log',
'levels'=>'error, warning',
),
array(
'class'=>'CFileLogRoute',
'logFile'=>'cron_trace.log',
'levels'=>'trace',
),
),
),
'widgetFactory'=>array(
),
'db'=>array(
...
),
'db2'=>array(
...
),
),
);`
和 cronjobCommand.php
class CronJobCommand extends CConsoleCommand {
public function run($args) {
echo "Yess";
}
}
如果 sb 有一些想法...
非常感谢
属性localeID
不是有效的属性。查看此处以查看可用内容:http://www.yiiframework.com/doc-2.0/yii-web-application.html
我建议将该值保存在其他地方,也许在$params
? http://www.yiiframework.com/doc-2.0/yii-base-module.html#$params-detail