Класс 'mage_adminnotification_helper_data' не найден (когда он фактически присутствует)
-
16-10-2019 - |
Вопрос
Так часто мы продолжаем получать ошибку:-
PHP Fatal error: Class 'Mage_Adminnotification_Helper_Data' not found in /var/www/vhosts/domain.co.uk/httpdocs/app/Mage.php on line 546
Это заставляет бэкэнд создавать 500 внутренней ошибки сервера, а приведенная выше ошибка регистрируется каждый раз, когда вы пытаетесь получить доступ к URL -адресу в бэкэнде.
При осмотре все в app/code/core/Mage/AdminNotification
присутствует и совершенно не поврежден.
Чтобы решить проблему, я беру еще одну копию вышеуказанного пути из рабочего магазина и перезаписываю этот. Очистить кеш, а затем исправить, может снова получить доступ к бэкэнд.
Я пробежал сравнение между AdminNotification
Папка и все его содержимое для версии, на которую мы заменили, и версия, которая была заменена. Каждая вещь в обеих папках идентична. Тем не менее, замена на то, что уже было там, исправила проблему. Странный.
Возможно ли, что стороннее расширение, которое служит в почтовых ящиках в бэкэнде, может быть причиной этого? Может быть, пытаться неверно расширить этот класс или что -то в этом роде? Ваш совет/предложения очень ценится.
Решение
Из того, что я вижу в сообщении об ошибке, есть проблема. Класс в вашем сообщении об ошибке Mage_Adminnotification_Helper_Data
и класс должен быть назван Mage_AdminNotification_Helper_Data
. Анкет Обратите внимание на прописное N
это строчное в сообщении об ошибке. Есть изменение, что вы правы в своем предположении. Это может быть расширение сторонних сторон, которое пытается переопределить Mage_Adminnotification_Helper_Data
.
Но если вы скажете, что перезапись файлов в AdminNotification
Папка решила проблему. Есть шанс, что кто -то ранее изменил файлы Core.
Дополнительная информация
Даже если имена классов не чувствительны к корпусу в PHP, имена файлов (по крайней мере, в операционных системах UNIX), а автозагрузчик ищет класс в Mage/Adminnotification/Helper/Data
.
Другие советы
Обратите внимание на большой «N» в Admin -Notification. Magento ищет администратора*не*Отификация, в то время как только администратор*Не*Отификация присутствует.
Вероятно, это связано с тем, что модуль mage_adminnotification отключена, но все еще есть ссылка на него, вероятно, некоторыми функциями перевода в другом модуле. Пожалуйста, сделайте полнотекстовый поиск «AdminNotification» в вашей установке Magento (приложение/ядро, вероятно, должно быть достаточно) и пропустите модуль Mage_AdminNotification. Затем вы узнаете, какой модуль вызывает призыв Mage_adminnotification_Helper_Data.