Проблема заключалась в том, что я превращал все свои ошибки в исключения с помощью пользовательских обработчиков ошибок.
В режиме STRICT класс, включаемый автозагрузкой, выдавал небольшую ошибку об использовании кода. Но это превращалось в исключение.
автозагрузка игнорирует исключения, поэтому следующая автозагрузка (если зарегистрировано несколько) может попытаться загрузить класс.
Поэтому ошибка в моем файле класса никогда не отображалась, но препятствовала существованию класса, вызывая загадочную ошибку в строке 0.
Отключение моего пользовательского обработчика ошибок означало, что PHP печатал ошибку (которую я вижу) вместо того, чтобы выдавать исключение (которое подавляется автозагрузкой), и тогда я мог видеть реальную причину проблемы и исправить ее.