Ошибка компиляции доктрины: функция void не должна возвращать значение

Я использую 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 все еще не исправлена. Или мне что-то еще не хватает?

ну из вопроса, который вы предоставили, они сказали, что вам нужен composer require doctrine/common "2.7.1 as 2.6.99"

Yamen Nassif 05.10.2018 13:13

Означает ли это, что доктрина / организация больше не поддерживается?

John Crawford 05.10.2018 13:18

нет, просто добавьте «doctrine / common»: «2.9.0», и это должно решить вашу проблему.

Yamen Nassif 05.10.2018 13:19

если вы посмотрите здесь packagist.org/packages/doctrine/orm, в библиотеке orm говорится, что для этого требуется doctrine / common; поэтому он не будет работать без него или, как в вашем случае, он сделает некоторые ошибки

Yamen Nassif 05.10.2018 13:21

Хм, я добавил это, но, к сожалению, все еще получаю ту же ошибку. (кеш был удален, и была запущена "установка композитора")

John Crawford 05.10.2018 13:25

попробуйте удалить папку поставщиков вместе с кешем, а затем установите композитор и, пожалуйста, поместите docrine / common перед doctrine / orm

Yamen Nassif 05.10.2018 13:28

Я запустил "rm -rf vendor / *" и "rm -rf var / cache / prod / *" и убедился, что "doctrine / common": "2.9.0" появляется перед "doctrine / orm": "dev-master "в composer.json, но по-прежнему возникает та же проблема. очень странно это.

John Crawford 05.10.2018 13:34

Когда именно возникает ошибка / исключение компиляции? Происходит ли это во время прогрева кеша или после него, когда вы открываете страницу? Работает ли ручное прогревание кеша с командой bin/console cache:warmup?

Nicolai Fröhlich 05.10.2018 13:53

bin / console cache: разогрев работает нормально. Только когда я запускаю часть своего кода (для которого требуется файл, созданный доктриной), он терпит неудачу. Здесь ломается: pastebin.com/vQxeV0gy

John Crawford 05.10.2018 15:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
700
1

Ответы 1

Поэтому ответом на это было просто использовать "@stable" в моем файле композитора.

    "doctrine/data-fixtures": "@stable",
    "doctrine/doctrine-fixtures-bundle": "@stable",
    "doctrine/migrations": "@stable",
    "doctrine/doctrine-migrations-bundle": "@stable",
    "stof/doctrine-extensions-bundle": "@stable",

Другие вопросы по теме