Не попасть в админку (вернее 500 ошибка)

Работая в админке, и меняя ресурсы, вдруг неожиданно выкинуло на 500 ошибку.(при чем это только в случае авторизации, то есть админку показывает, если ты не авторизован(саму панель входа)). MODX 2.5.2

Сервер пишет следующее в лог
[Fri Feb 10 17:25:47.667081 2017] [:error] [pid 6542] [client 178.66.106.98:46839] PHP Fatal error:  Call to a member function getObject() on string in /var/www/goldholod/data/www/goldholod.com/core/cache/includes/elements/modplugin/2.include.cache.php on line 10
Содержимое файла
<?php
switch ($modx->event->name) {
    case 'OnManagerPageBeforeRender':
        if ($modx->hasPermission('error_log_view')) {
            $modx->controller->addLexiconTopic('controlerrorlog:default');
            $modx->controller->addCss($modx->getOption('assets_url').'components/controlerrorlog/css/mgr/main.css');
            $modx->controller->addJavascript($modx->getOption('assets_url').'components/controlerrorlog/js/mgr/cel.default.js');

            $response = $modx->runProcessor('mgr/errorlog/get', array('includeContent'=>false), array('processors_path' => $modx->getOption('core_path') . 'components/controlerrorlog/processors/'));
            $resObj = $response->getObject();
            $_html = "<script>	var cel_config = " . $modx->toJSON($resObj) . "; </script>";
            $modx->controller->addHtml($_html);
        }
        break;
    case 'OnHandleRequest':
        $email = $modx->getOption('controlerrorlog.admin_email');
        if ($modx->context->get('key') == 'mgr' || empty($email) || !$modx->getOption('controlerrorlog.control_frontend')) return;

        $f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
        if (file_exists($f)) {
            $casheHash = $modx->cacheManager->get('error_log');
            $hash = md5_file($f);
            if (filesize($f) > 0 && !empty($casheHash)  &&  $casheHash != $hash) {
                $modx->lexicon->load('controlerrorlog:default');
                /** @var modPHPMailer $mail */
                $mail = $modx->getService('mail', 'mail.modPHPMailer');
                $mail->setHTML(true);

                $mail->set(modMail::MAIL_SUBJECT, $modx->lexicon('error_log_email_subject'));
                $mail->set(modMail::MAIL_BODY, $modx->lexicon('error_log_email_body', array('siteName' => $modx->config['site_name'])));
                $mail->set(modMail::MAIL_SENDER, $modx->getOption('emailsender'));
                $mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
                $mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));

                $mail->address('to', $email);
                $mail->address('reply-to', $modx->getOption('emailsender'));

                if (!$mail->send()) {
                    print ('An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
                }
                $mail->reset();
            }
            if ($casheHash != $hash) {
                $modx->cacheManager->set('error_log', $hash, 0);
            }
        }
        break;
}
return;
Полностью так же очищал руками кеш в core

Прошу помочь понять, в чем причина.
Игорь
10 февраля 2017, 14:31
modx.pro
3 147
0

Комментарии: 6

Сергей Шлоков
10 февраля 2017, 17:58
+1
Видимо что-то не так с процессором — например, нету его там.
Нужно отключить плагин. Для этого открыть файл core/cache/includes/elements/plugins/10.include.cache.php и закомментировать весь код.
    Игорь
    10 февраля 2017, 18:15
    0
    Большое спасибо!
    Помогло такое решение, НО это же костыль, а как теперь выявить в чем причина, что бы такое более не возникло?
    Сергей Шлоков
    10 февраля 2017, 18:20
    0
    Проверить наличие процессора. Я так понимаю, с какого-то момента возникла эта ошибка, значит было какое-то действие. Если процессора нет, то нужно переустановить компонент controlErrorLog.
    Советую временно отключить этот плагин в админке до момента решения проблемы, так как при сохранении любого объекта или страницы кэш будет перезаписан и опять придется лезть в файл и комментировать.

    П.С. Вообще неплохо было бы проверить журнал ошибок.
      Игорь
      10 февраля 2017, 19:40
      0
      Спасибо за советы, проблему решили. Суть была в том, что ранее controlErrorLog был удален, но производили после чего частичное восстановление системы, базу восстановили, а файлы оставили как есть(то ест ьвернее их уже не было), вот он и ругался.
        Валентина Павлова
        28 апреля 2021, 23:11
        0
        Такая же проблема. При попытке обновления controlErrorLog он не обновился. При попытке деинсталлировать и установить заново — ошибка 500.
        Кеш, конечно, пробовала очистить.
        В логе:
        (ERROR @ /var/www/admin/data/www/ru-bezh.ru/core/model/modx/modx.class.php : 1766) Processor /var/www/admin/data/www/ru-bezh.ru/core/components/controlerrorlog/processors/mgr/get.php does not exist; Array
        (
            [processors_path] => /var/www/admin/data/www/ru-bezh.ru/core/components/controlerrorlog/processors/
        )
        Как я понимаю, нет процессора. Но как его без админки восстановить-то?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6