Как включить службу чтения аннотаций для слушателя контроллера sensio framework? - PullRequest
0 голосов
/ 12 октября 2019

После обновления композитора для исправления некоторых уязвимостей в пакете, используемом моим приложением, я обрабатываю ошибку:

Служба "sensio_framework_extra.controller.listener" зависит от несуществующей службы"annotation_reader"

Как и предлагалось в этом ответе , я пытался добавить пакет doctrine/annotations, но это не решило мою проблему (пакет, кажется, уже установлен),

λ composer require doctrine/annotations
Using version ^1.8 for doctrine/annotations
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.2.*"
Nothing to install or update

Вот пакеты, используемые моим composer.json:

"require": {
    "php": "^7.1.3",
    "ext-ctype": "*",
    "ext-fileinfo": "*",
    "ext-iconv": "*",
    "ext-json": "*",
    "doctrine/doctrine-fixtures-bundle": "^3.1",
    "ekyna/payum-monetico-bundle": "^1.5",
    "gedmo/doctrine-extensions": "^2.4",
    "knplabs/knp-paginator-bundle": "^3.0",
    "payum/offline": "^1.5",
    "payum/paypal-express-checkout-nvp": "^1.5",
    "payum/payum-bundle": "^2.3",
    "php-http/guzzle6-adapter": "^2.0",
    "sensio/framework-extra-bundle": "^5.1",
    "stof/doctrine-extensions-bundle": "^1.3",
    "symfony/asset": "4.2.*",
    "symfony/console": "4.2.*",
    "symfony/dotenv": "4.2.*",
    "symfony/expression-language": "4.2.*",
    "symfony/flex": "^1.1",
    "symfony/form": "4.2.*",
    "symfony/framework-bundle": "4.2.*",
    "symfony/monolog-bundle": "^3.1",
    "symfony/orm-pack": "1.*",
    "symfony/process": "4.2.*",
    "symfony/security-bundle": "4.2.*",
    "symfony/serializer-pack": "1.*",
    "symfony/swiftmailer-bundle": "^3.1",
    "symfony/templating": "4.2.*",
    "symfony/translation": "4.2.*",
    "symfony/twig-bundle": "4.2.*",
    "symfony/validator": "4.2.*",
    "symfony/web-link": "4.2.*",
    "symfony/webpack-encore-bundle": "^1.4",
    "symfony/yaml": "4.2.*",
    "twig/extensions": "^1.5",
    "vich/uploader-bundle": "^1.8"
},
"require-dev": {
    "codeception/codeception": "^2.5",
    "codeception/c3": "2.*",
    "friendsofphp/php-cs-fixer": "^2.14",
    "php-coveralls/php-coveralls": "^2.1",
    "phpmd/phpmd": "2.*",
    "squizlabs/php_codesniffer": "*",
    "symfony/debug-pack": "*",
    "symfony/maker-bundle": "^1.11",
    "symfony/profiler-pack": "*",
    "symfony/test-pack": "^1.0",
    "symfony/web-server-bundle": "4.2.*"
}

Редактировать: я использую все фреймворки, я вручную сбросил кеш, чтобы убедиться, что естьбез проблем. Я тоже перезагрузил свой компьютер разработчика. Наконец, я обошел проблему, развернув мой проект github в другом каталоге, и приложение работает нормально. Я не закрываю этот вопрос, потому что хочу найти проблему, если она возникает на производстве.

1 Ответ

2 голосов
/ 12 октября 2019

, поскольку сама доктрина (или доктрина / аннотации) не регистрирует сервисы (зачем это нужно), я просмотрел комплекты доктрин, и doctrine/doctrine-bundle предоставляет сервис annotation_reader: https://github.com/doctrine/DoctrineBundle/blob/af8ac792c9b970ff2bc25b49ab9b31afd9e03dbf/Resources/config/orm.xml#L82

...