Я использую PHP 7.2 и получаю следующую ошибку:
PHP Fatal error: A void function must not return a value
Compile Error: A void function must not return a value
Это происходит потому, что похоже, что doctrine / common не поддерживает return: void. В моем файле composer.json есть следующее:
"php": "7.2.*",
"symfony/symfony": "~3.4",
"doctrine/orm": "dev-master",
"doctrine/doctrine-bundle": "~1.5",
"doctrine/data-fixtures": "dev-master",
"doctrine/doctrine-fixtures-bundle": "dev-master",
"doctrine/migrations": "dev-master",
"doctrine/doctrine-migrations-bundle": "dev-master",
"stof/doctrine-extensions-bundle": "dev-master",
Но похоже, что эта проблема, о которой впервые было сообщено еще в январе 2017 года, видно здесь: https://github.com/doctrine/doctrine2/issues/6221 все еще не исправлена. Или мне что-то еще не хватает?
Означает ли это, что доктрина / организация больше не поддерживается?
нет, просто добавьте «doctrine / common»: «2.9.0», и это должно решить вашу проблему.
если вы посмотрите здесь packagist.org/packages/doctrine/orm, в библиотеке orm говорится, что для этого требуется doctrine / common; поэтому он не будет работать без него или, как в вашем случае, он сделает некоторые ошибки
Хм, я добавил это, но, к сожалению, все еще получаю ту же ошибку. (кеш был удален, и была запущена "установка композитора")
попробуйте удалить папку поставщиков вместе с кешем, а затем установите композитор и, пожалуйста, поместите docrine / common перед doctrine / orm
Я запустил "rm -rf vendor / *" и "rm -rf var / cache / prod / *" и убедился, что "doctrine / common": "2.9.0" появляется перед "doctrine / orm": "dev-master "в composer.json, но по-прежнему возникает та же проблема. очень странно это.
Когда именно возникает ошибка / исключение компиляции? Происходит ли это во время прогрева кеша или после него, когда вы открываете страницу? Работает ли ручное прогревание кеша с командой bin/console cache:warmup?
bin / console cache: разогрев работает нормально. Только когда я запускаю часть своего кода (для которого требуется файл, созданный доктриной), он терпит неудачу. Здесь ломается: pastebin.com/vQxeV0gy






Поэтому ответом на это было просто использовать "@stable" в моем файле композитора.
"doctrine/data-fixtures": "@stable",
"doctrine/doctrine-fixtures-bundle": "@stable",
"doctrine/migrations": "@stable",
"doctrine/doctrine-migrations-bundle": "@stable",
"stof/doctrine-extensions-bundle": "@stable",
ну из вопроса, который вы предоставили, они сказали, что вам нужен
composer require doctrine/common "2.7.1 as 2.6.99"