Полагаю, это не тот ответ, на который вы надеялись, но проблема в том, что вы используете код, написанный для PHP 7. Интерфейс Throwable
был впервые представлен в PHP 7 и коде. поэтому его использование не будет работать на более старой версии PHP.
Мое лучшее предположение состоит в том, что, особенно из-за того, что вы показали исключение из пакета поставщика, ваша собственная кодовая база в порядке и проблема возникает только из-за зависимости (потому что вы недавно обновили свои зависимости). Чтобы решить эту проблему, вы можете эмулировать более низкую версию PHP для вашего проекта в пределах composer.json
, чем та, на которой работает ваша машина разработки (кажется, что вы запускаете PHP 7 там). Композитор сам, без такой настройки, всегда будет пытаться обновить до последних пакетов, совместимых с машиной, на которой он запущен (и, конечно, в отношении версий, определенных в composer.json
).
Кстати, только вчера я ответил на вопрос, где именно та функция, которую я собираюсь предложить, сейчас вызывает проблемы ( Homestead: Как обновить версию PHP ), но в вашем случае это поможет. Поэтому, пожалуйста, добавьте следующую конфигурационную часть к composer.json
(лучше всего с точной версией PHP, на которой работает ваш сервер):
"config": {
"platform": {
"php": "5.6.0"
}
}
Если в composer.json
уже есть блок config
, просто добавьте к нему параметр platform.php
. После этого запустите composer update
, чтобы (скорее всего) понизить проблемные пакеты.
Если это не решит проблему, возможно, вам придется вручную найти проблемные пакеты и уменьшить их версии, чтобы они работали с вашей рабочей версией PHP.