Доступ к необъявленному статическому свойству: Doctrine \ ODM \ MongoDB \ Mapping \ Driver \ AnnotationDriver ::

Я столкнулся с этой важной проблемой во всех моих Документах, у которых есть поле @ODM \ UniqueIndex, @ODM \ InheritanceType, @ODM \ DiscriminatorField и т. Д. В принципе, если есть что-то большее, чем аннотация @ODM \ Document для класса, я получаю ошибку ниже при попытке получить документ с помощью DocumentManager:

По какой-то причине он пытается получить доступ к статическому свойству с такими странными символами, как $ D7 1 и т. Д. Что происходит? Из-за этого кто-то может помочь мне разрешить это, поскольку мы попали в блокпост в нашем проекте. Используется последняя ведущая ветвь ODM.

Примечание. Это исключение возникает только при включении APC. Если я отключу APC и перезапустите apache, он отлично работает. Также, когда APC включен, он работает с первой загрузкой, но не работает для каждого последовательного запроса. (Предположим, что это происходит потому, что кеш-код операции APC заполняется только после первого запроса)

ошибка

Fatal error: Access to undeclared static property: Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::$ S in /home/dayson/projects/www/textme/ninja/library/Doctrine/ODM/MongoDB/Mapping/Driver/AnnotationDriver.php on line 146 Call Stack # Time Memory Function Location ..... 6 0.0037 1319032 Doctrine\ODM\MongoDB\DocumentManager->find( ) ../Test.php:34 7 0.0038 1322736 Doctrine\ODM\MongoDB\DocumentManager->getRepository( ) ../DocumentManager.php:574 8 0.0038 1322736 Doctrine\ODM\MongoDB\DocumentManager->getClassMetadata( ) ../DocumentManager.php:474 9 0.0038 1322736 Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory->getMetadataFor( ) ../DocumentManager.php:273 10 0.0038 1322736 Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory->loadMetadata( ) ../ClassMetadataFactory.php:180 11 0.0050 1495432 Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver->loadMetadataForClass( ) ../ClassMetadataFactory.php:243 

Код

 $dm->find('Document\User', '4e283aabc2749a4b7d0001dd') 

Код документа

 <?php namespace Document; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; /** * @ODM\Document * @ODM\UniqueIndex(keys={"mobile"="asc"}) */ class User extends \Document\AbstractDocument { /** * @var string * @ODM\Id */ protected $id; /** * @var string * @ODM\String */ protected $mobile; } 

Это ошибка с APC 3.1.3p1. Я обновился до версии 3.1.9, и теперь он разрешен.

Надеюсь, что это сэкономит время для других людей, которые могут столкнуться с этим в будущем. Не используйте пакеты APC из репозиториев debian / ubuntu. Вместо этого используйте PECL.