Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] 500 Internal Server Error - чудит vqmod


projector

Recommended Posts

Добрый день!

Полностью рабочий сайт на 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, но они там были всегда (проверил резервные копии сайта с самого начала установки), и че с ними делать непонятно.

 

Так что, как говорится, помогите люди добрые, кто чем может (тех.служба хостинга пока уже сутки молчит).

Надіслати
Поділитися на інших сайтах


Решение найдено! Проблема была в скрученных настройках файлов config.php и admin/config.php

Итак, итог пошагово:

1) Проверяем наличие в корневой папке опенкарта и папке админ/ файлов config.php, ПОСТРОЧНО проверяем их настройки (они разные, сверяем со своей резервной копией);

2) Чистим кэш vqmodа - в папке vqmod/vqcache/ убиваем все файлы;

3) Отключаем по одному файлы .xml  в папке vqmod/xml/... (кроме vqmod_opencart.xml) путем переименования;

4) Пробуем отключить vqmod путем переименования всей папки vqmod;

5) Пробуем переустановить vqmod$

6) Пробуем заменить в файле .htaccess Options +FollowSymLinks на Options +SymLinksIfOwnerMatch

 

Отдельное человеческое спасибо Tomу за выдержку и проявленное участие))

Надіслати
Поділитися на інших сайтах


  • 1 year later...

У меня была аналогичная проблема - после ручного обновления кэша модификаторов сайт упал, стала появляться ошибка HTTP 500. В логах var/log/nginx/error.log стала появляться ошибка "FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Ocart' not found in .../vqmod/vqcache/vq2-system_storage_modification_system_engine_loader.php on line 102" while reading response header from upstream, client: ...". Оказалось, что после установки и удаления одной из шаблонов тем остались некоторые файлы, а именно system/storage/modification/system/engine/loader.php, который и указан в имени файла в vqmod/vqcache. Поудалял все эти файлы и магазин успешно загрузился!

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.