В соответствии с this PHP bug report сообщение об ошибке вызвано вложением класса в оператор if и его статическим объявлением.APC Fatal: Отсутствует информация о классе
У меня есть класс, объявленный в одном месте, но я защитил его с, если:
if (!class_exists('myClass', false)) {
class myClass{
(Попытка сделать что-то похожее на препроцессор C++ директив/условных включений.)
Это должно было предотвратить отказ от возможности использования нескольких кодеров, в том числе и неправильного (требуется вместо require_once). Моя единственная альтернатива на данный момент заключается в том, чтобы прокомментировать if и искать приложение для включений и просто сделать их все «require_once».
Итак, кто-нибудь еще столкнулся с этой ошибкой, и есть ли способ обойти, помимо изменения всех требований require_once? (Это программное обеспечение поддерживается несколькими кодеров, так что я хотел бы сохранить его от падения.)
- Эта ошибка возникает только в некоторых случаях (в случайном порядке), и когда это произойдет, я должен добавить/удалить пространство из файл класса и повторное сохранение, чтобы исправить ошибку.
На боковой ноте основной причиной, по которой мы установили APC, была поддержка поддержки загрузки файлов для IE 9 и ниже. Поэтому, если мы сможем поддерживать только те части, которые могут быть отключены, мы можем отключить любую функцию. (Не уверен, что это возможно.)
Обновление: Сохранение файла, по-видимому, не имеет эффекта. Похоже, у него есть своего рода «тайм-аут». Когда ошибка возникает, я должен просто подождать, пока она исчезнет.