Bug #25649
closedAutoload seems to be case sensitive when started in cli-mode
0%
Description
Autoloader seems to be case sensitive, therefore it was not able to unserialize task settings. This was because it could not load it's own classes by using original ext_autoload.php
While task was executed without any trouble when started from backend I spended hours and hours to get it work in cli mode.
This is what I did:
After having a look at scheduler's 'ext_autoload.php' I looked up for each class file which was referenced by this file (keys there are all lowercase) and included them in my extensions 'ext_autoload.php':
$extensionPath = t3lib_extMgm::extPath('pgtigercal');
------
$retval = array(
// classed for my extension
'tx_pgtigercal_scheduler' => $extensionPath . 'lib/class.tx_pgtigercal_scheduler.php',
'tx_pgtigercal_scheduler_additionalfieldprovider' => $extensionPath . 'lib/class.tx_pgtigercal_scheduler_additionalfieldprovider.php',
// scheduler is case sensitive so we have also to assign the original class names to get it work
'tx_scheduler_AdditionalFieldProvider' => t3lib_extMgm::extPath('scheduler', 'examples/class.tx_scheduler_testtask_additionalfieldprovider.php'),
'tx_scheduler_CronCmd' => t3lib_extMgm::extPath('scheduler', 'class.tx_scheduler_croncmd.php'),
'tx_scheduler_Task' => t3lib_extMgm::extPath('scheduler', 'class.tx_scheduler_task.php'),
'tx_scheduler_Execution' => t3lib_extMgm::extPath('scheduler', 'class.tx_scheduler_execution.php'),
'tx_scheduler_FailedExecutionException' => t3lib_extMgm::extPath('scheduler', 'class.tx_scheduler_failedexecutionexception.php'),
'tx_scheduler_TestTask' => t3lib_extMgm::extPath('scheduler', 'examples/class.tx_scheduler_testtask.php'),
'tx_scheduler_TestTask_AdditionalFieldProvider' => t3lib_extMgm::extPath('scheduler', 'examples/class.tx_scheduler_testtask_additionalfieldprovider.php'),
'tx_scheduler_SleepTask' => t3lib_extMgm::extPath('scheduler', 'examples/class.tx_scheduler_sleeptask.php'),
'tx_scheduler_SleepTask_AdditionalFieldProvider' => t3lib_extMgm::extPath('scheduler', 'examples/class.tx_scheduler_sleeptask_additionalfieldprovider.php')
);
return $retval;
----
So I think it's nearly proved that there is something wrong with autoload handling of scheduler.
(issue imported from #M13381)