Hallo,
Nach der Umstellung auf PHP 7.1 (oder höher) bekomme ich bei einer Datenbankaktualisierung (im Backend oder über den install.php) unserer Webseite (Contao 3.5.40) die folgende Fehlermeldung:
Code:
Fatal error: Uncaught exception Doctrine\Common\Annotations\AnnotationException with message You have to enable opcache.load_comments=1 or zend_optimizerplus.load_comments=1. thrown in system/modules/!avisota-nightly-build/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php on line 193
#0 system/modules/!avisota-nightly-build/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php(171): Doctrine\Common\Annotations\AnnotationException:: optimizerPlusLoadComments()
#1 system/modules/!avisota-nightly-build/vendor/gedmo/doctrine-extensions/lib/Gedmo/Mapping/MappedEventSubscriber.php(227): Doctrine\Common\Annotations\AnnotationReader->__construct()
#2 system/modules/!avisota-nightly-build/vendor/gedmo/doctrine-extensions/lib/Gedmo/Mapping/MappedEventSubscriber.php(159): Gedmo\Mapping\MappedEventSubscriber->getDefaultAnnotationReader()
#3 system/modules/!avisota-nightly-build/vendor/gedmo/doctrine-extensions/lib/Gedmo/Mapping/MappedEventSubscriber.php(197): Gedmo\Mapping\MappedEventSubscriber->getExtensionMetadataFactory(Object(Doctrine\ORM\EntityManager))
#4 system/modules/!avisota-nightly-build/vendor/gedmo/doctrine-extensions/lib/Gedmo/Timestampable/TimestampableListener.php(44): Gedmo\Mapping\MappedEventSubscriber->loadMetadataForObjectClass(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#5 system/modules/!avisota-nightly-build/vendor/doctrine/common/lib/Doctrine/Common/EventManager.php(59): Gedmo\Timestampable\TimestampableListener->loadClassMetadata(Object(Doctrine\ORM\Event\LoadClassMetadataEventArgs))
#6 system/modules/!avisota-nightly-build/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(175): Doctrine\Common\EventManager->dispatchEvent('loadClassMetada...', Object(Doctrine\ORM\Event\LoadClassMetadataEventArgs))
#7 system/modules/!avisota-nightly-build/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(318): Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(Object(Doctrine\ORM\Mapping\ClassMetadata), NULL, false, Array)
#8 system/modules/!avisota-nightly-build/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(218): Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('ORM\\Entity\\Vers...')
#9 system/modules/!avisota-nightly-build/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(114): Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('ORM\\Entity\\Vers...')
#10 system/modules/!avisota-nightly-build/vendor/bit3/contao-doctrine-orm/src/Contao/Doctrine/ORM/Install/EntityGeneration.php(67): Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata()
#11 system/modules/!avisota-nightly-build/vendor/bit3/contao-doctrine-orm/src/Contao/Doctrine/ORM/Install/DbTool.php(102): Contao\Doctrine\ORM\Install\EntityGeneration::generate(NULL, false)
#12 system/modules/!avisota-nightly-build/vendor/bit3/contao-doctrine-orm/src/Contao/Doctrine/ORM/Install/DbTool.php(42): Contao\Doctrine\ORM\Install\DbTool->generateSchemaSql(Array)
#13 system/modules/core/library/Contao/Database/Installer.php(247): Contao\Doctrine\ORM\Install\DbTool->hookSqlCompileCommands(Array)
#14 system/modules/core/library/Contao/Database/Installer.php(41): Contao\Database\Installer->compileCommands()
#15 system/modules/core/controllers/BackendInstall.php(625): Contao\Database\Installer->generateSqlForm()
#16 system/modules/core/controllers/BackendInstall.php(181): Contao\BackendInstall->adjustDatabaseTables()
#17 contao/install.php(20): Contao\BackendInstall->run()
#18 {main}
Im abgesicherten Modus funktioniert die Datenbankaktualisierung reibungslos. Ich komme aber nicht wirklich weiter, welches Modul den Fehler verursacht. Hat jemand eine Idee bzw. einen Lösungsansatz? Soweit ich das verstehe, gibt es die Einstellung opcache.load_comments im php.ini in PHP 7 nicht mehr.
Lesezeichen