我正在尝试在typo3上运行调度程序类。
ext_autoload.php:
$extensionPath = t3lib_extMgm::extPath('mh_compass');
$loaderClass = array(
'tx_monitorcompassdailyreset_sched' => $extensionPath.'scheduler/class.tx_monitorcompassdailyreset_sched.php',
);
return $loaderClass;
ext_localconf.php:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['tx_monitorcompassdailyreset_sched'] = array(
'extension' => $_EXTKEY,
'title' => 'Compass Monitor Daily Reset Scheduler',
'description' => 'Reset daily Monitor Jobs',
);
class.tx_monitorcompassdailyreset_sched.php:
class tx_monitorcompassdailyreset_sched extends tx_scheduler_Task {
public function execute() {
error_log( "Start Compass Monitor Daily Reset Scheduled Job" );
//do some stuff
error_log( "Finished Compass Monitor Scheduled Job" );
}
}
当我尝试在后端的调度程序中添加任务时,出现以下错误:
Fatal error: Class 'tx_monitorcompassdailyreset_sched' not found in /var/www/typo3_src-4.5.22/t3lib/class.t3lib_div.php on line 5375
这没有意义,因为a)我在该函数上使用了debug并且它加载了所有其他类,并且b)我在类命名中看不到差异。
php的版本是5.3.10(有一个像5.3.2这样的bug,但它消失了)
答案 0 :(得分:1)
你的班级命名显然是错误的。您的扩展密钥是“mh_compass”,因此您的类名称需要以“tx_mhcompass_”开头。类名的开头始终包含“tx_”,后跟没有下划线的扩展名。
尝试将您的类重命名为“tx_mhcompass_Task_Reset”。