Добрый день!
Полностью рабочий сайт на opencart 1.5.6.4, vqmod и адаптивная тема, на хостинге норм работал около 2 месяцев, все тяготы настройки и оптимизации с героизмом преодолевали и вот видимо простая проблема, но решение пока никак не дается.
Итак, при входе на сайт стало выдавать: 500 Internal Server Error.
При попытке захода в админку перебрасывает на: [мойдомен].com/install/index.php
При заходе с мобильных устройств выдает:
Notice: Undefined index: token in /имя сервера моего хостера/.../.../ocart/admin/controller/error/not_found.php on line 16 Notice: Undefined index: token in /имя сервера моего хостера/.../.../ocart/admin/controller/error/not_found.php on line 22
В файле ocart/admin/controller/error/not_found.php по этим строкам следующее:
14 $this->data['breadcrumbs'][] = array( 15 'text' => $this->language->get('text_home'), 16 'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'), 17 'separator' => false 18 ); 19 20 $this->data['breadcrumbs'][] = array( 21 'text' => $this->language->get('heading_title'), 22 'href' => $this->url->link('error/not_found', 'token=' . $this->session->data['token'], 'SSL'), 23 'separator' => ' :: ' 24 );
Перед этим с утра не удавалось войти в админку под своим паролем, изменил пароль при помощи опции восстановления пароля через эл.почту. Кроме этого, возможно на тот момент был осуществлен вход под одним логином с разных компьютеров (не знаю, критично ли это).
В логах ошибки сервера это:
PHP Fatal error: Call to a member function isLogged() on a non-object in /адрес моего хостера/.../.../.../ocart/vqmod/vqcache/vq2-admin_controller_common_header.php on line 122
В файле ocart/vqmod/vqcache/vq2-admin_controller_common_header.php следующее:
122 if (!$this->user->isLogged() || !isset($this->request->get['token']) || !isset($this->session->data['token']) || ($this->request->get['token'] != $this->session->data['token'])) { 123 $this->data['logged'] = ''; 124 125 $this->data['home'] = $this->url->link('common/login', '', 'SSL'); 126 } else { 127 $this->data['logged'] = sprintf($this->language->get('text_logged'), $this->user->getUserName());
Ну и если пойти по ссылке и заглянуть в admin/controller/common/header.php можно найти похожие дублирующие строки:
122 if (!$this->user->isLogged() || !isset($this->request->get['token']) || !isset($this->session->data['token']) || ($this->request->get['token'] != $this->session->data['token'])) { 123 $this->data['logged'] = ''; 124 125 $this->data['home'] = $this->url->link('common/login', '', 'SSL'); 126 } else { 127 $this->data['logged'] = sprintf($this->language->get('text_logged'), $this->user->getUserName()); 128 $this->data['pp_express_status'] = $this->config->get('pp_express_status');
Никаких модулей, расширений накануне не устанавливал, настроек не менял, htaccess не трогал.
Кэш vqcache чистить пробовал, system/cache/ тоже - не помогло. Файлов .xml похожих по смылу нет, чтобы стереть/сделать недоступными.
Насколько я понимаю, какой-то бок с токен-сессией, но что к чему пока вне моих познаний))
Перерыл все что можно, рус и англ-язычное ответов не нашел, одна из зацепок - дублирующиеся запросы на логгирование в header.php и vq2-admin_controller_common_header.php, но они там были всегда (проверил резервные копии сайта с самого начала установки), и че с ними делать непонятно.
Так что, как говорится, помогите люди добрые, кто чем может (тех.служба хостинга пока уже сутки молчит).