Я также столкнулся с этой проблемой и нашел решение для своего случая.
В моей ситуации у меня был также собственный обработчик сеанса, который записывал данные в базу данных при закрытии сеанса.
При возникновении ошибки обработчик ошибок будет запущен, и ошибка будет обработана нормально.Но затем запустится обработчик закрытия сеанса, и при попытке записи в базу данных возникнет ошибка, из-за которой сработает оператор catch, который в зависимости от типа ошибки SQL вызовет исключение определенного типа, но эти классы должныбыть автозагрузкой. В этот момент (в обработчике закрытия сеанса) вы больше не можете автоматически загружать классы.
Проверьте , когда это происходит.Во время обычного выполнения PHP, или в каком-то «специальном» режиме PHP, таком как обработчик сеанса, или во время обработки ошибок?
В моем случае решение было добавить class_exists("MyClass", true)
перед попыткой его использования.Я мог бы бросить нормальное исключение вместо этого.Исключение по-прежнему будет «Фатальным», так как не осталось ничего, чтобы его перехватить, но, по крайней мере, оно покажет исключение real , а не ошибку автозагрузки.