如果Schedulertask由cronjob执行,则getParentKeyFieldName()为null

时间:2018-08-21 08:05:07

标签: php typo3 extbase typo3-7.6.x

我分叉了扩展sf_event_mgt并创建了一些调度程序任务。 如果我在前端使用userFunc调用execute()或手动启动任务,则一切正常。但是,如果我用/var/www/[...]/cli_dispatcher.phpsh scheduler通过cronjob调用schedulertask,我总是得到

  

在/var/www/[...]/vendor/typo3/cms/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php:447中,对成员函数getParentKeyFieldName()的调用为null

实例化这些对象后,似乎直接发生了错误:

$this->objectManager = GeneralUtility::makeInstance(ObjectManager::class);
$this->eventRepository = $this->objectManager->get(EventRepository::class);
$this->notificationService = $this->objectManager->get(NotificationService::class);

注释掉存储库行之后,没有显示异常。

我已经清除了所有缓存并检查了php注释。

使用的PHP版本:7.1.17和TYPO3版本:7.6.30

1 个答案:

答案 0 :(得分:0)

找到了解决方案:

如果安装了php7.0-igbinary,Extbase Reflection缓存将无法正常工作

https://forge.typo3.org/issues/56603#note-8