Обработчик ошибок Yii2 умирает при вызовах не-объектов

Кто-нибудь может иметь какие-либо идеи, что может привести к корректной остановке обработчика ошибок Yii2 в следующей строке:

echo $missing;

(при условии, что $missing равно нулю) и отображается правильноНеопределенная переменная: отсутствует …«Обратите внимание. И в то же время« умереть »полностью в следующей строке:

echo $missing->noneExisting();

и отобразить (вернуть) полностью пустую страницу вместо правильного сообщения об ошибке?

У меня очень странные проблемы с обработчиком ошибок Yii2 с тех пор, как я начал программировать в Yii2. Выше код является одним из примеров. Еще один, что повторное выделение Yii пространство имен в миграции приводит к тому, что консоль командной строки умирает, вместо того, чтобы отображать соответствующую фатальную ошибку.

мне сказали, что эта проблема вызвана моей конфигурацией PHP. Но мне было трудно поверить — главным образом потому, что:

  • Я не изменилась что-нибудь в моей структуре XAMPP, php.ini содержание и т. д. в течение многих, многих месяцев, я на самом деле все еще использую старую-хорошую версию XAMPP 1.8.1 (версию без соответствия версии PHP),

  • все перечисленные проблемы начались около месяца назад, когда я начал кодировать в Yii2 и происходит только в приложениях на Yii2 — я не могу воспроизвести ни одну из вышеупомянутых проблем ни в одном из моих проектов на Yii1.

Я согласен, что это должно быть что-то в моей локальной установке PHP, потому что я проверил все эти примеры в только что установленном XAMPP 5.6.8 и в его переносимой версии. Но, поскольку я могу воспроизвести эту проблему только в проекте на Yii2, и все идет так же хорошо, как в приложении на Yii1 или на чистом PHP, внутри должен быть какой-то неприятный дьявол.

Может ли кто-нибудь помочь здесь или хотя бы пролить свет на то, с чего мне начать искать?

4

Решение

Я обнаружил, что в некоторых средах, когда Yii2 обрабатывает ошибку отсутствующей переменной, он показывает ошибку в нижней части отладчика.

Warning: var_export does not handle circular references in ~/vendor/yiisoft/yii2/helpers/BaseVarDumper.php on line 187

Может быть, из-за этой ошибки ваша среда погибнет от этого.
Однако это похоже на ошибку.

Кроме того, я нашел обходной путь, используя решение, найденное в этом Github Issue.
Это не красиво, но это решение.

Редактировать: Патч для этой проблемы был выпущен. Посмотреть здесь

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]