Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Пустая страница Uncaught Error


 Поделиться

Рекомендованные сообщения

Здравствуйте.
Сдела сайт на OpenCart2.3
НА локалке всё работает нормально, но при переносе на реальный сервер возник белый экран.

Сделал вывод ошибок, через htcess получил следующее


Fatal error: Uncaught Error: Using $this when not in object context in /home/srsru/public_html/system/framework.php:75 Stack trace: #0 /home/srsru/public_html/system/library/session.php(43): {closure}(8, 'Use of undefine...', '/home/srsru/pub...', 43, Array) #1 /home/srsru/public_html/catalog/controller/startup/session.php(9): Session->__construct('native', Object(Registry)) #2 /home/srsru/public_html/system/engine/action.php(56): ControllerStartupSession->index() #3 /home/srsru/public_html/system/engine/front.php(39): Action->execute(Object(Registry)) #4 /home/srsru/public_html/system/engine/front.php(24): Front->execute(Object(Action)) #5 /home/srsru/public_html/system/framework.php(178): Front->dispatch(Object(Action), Object(Action)) #6 /home/srsru/public_html/system/startup.php(130): require_once('/home/srsru/pub...') #7 /home/srsru/public_html/index.php(19): start('catalog') #8 {main} thrown in /home/srsru/public_html/system/framework.php on line 75

 

Версия php 7.1 и на локалке, и на хостинге.
адрес сайта srs74.ru

 

Подскажите, что не так?

Ссылка на комментарий
Поделиться на других сайтах


Так покажите что у вас в этом файле framework.php вокруг строчки 75.

Написали где-то $this->config->get...   вместо $config->get... ?

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Prooksius сказал:

Так покажите что у вас в этом файле framework.php вокруг строчки 75.

Написали где-то $this->config->get...   вместо $config->get... ?

 

framework.php:75:

if ($this->config->get('error_log')) { 

 

/system/library/session.php(43):

$cookie_status_path = DIR_SESSION . $this->config->get('session_prefix') . md5($this->request->server['REMOTE_ADDR']);

 

catalog/controller/startup/session.php(9):

$session = new Session($this->config->get('session_engine'), $this->registry);

 

system/engine/action.php(56):

return call_user_func_array(array($controller, $this->method), $args);

 

system/engine/front.php(39):

private function execute(Action $action) {
		$result = $action->execute($this->registry);

 

system/engine/front.php(24):

foreach ($this->pre_action as $pre_action) {
			$result = $this->execute($pre_action);

 

system/framework.php(178):

$controller->dispatch(new Action($config->get('action_router')), new Action($config->get('action_error')));

 

system/startup.php(130):

function start($application_config) {
	require_once(DIR_SYSTEM . 'framework.php');	
}

 

index.php(19):

start('catalog');

 

Ссылка на комментарий
Поделиться на других сайтах


framework - отдельный файл, а не метод класса контроллера, поэтому в этом файле $this неприемлемо.
Ну как уже писал ранее..

Ссылка на комментарий
Поделиться на других сайтах

 

3 минуты назад, Prooksius сказал:

framework - отдельный файл, а не метод класса контроллера, поэтому в этом файле $this неприемлемо.
Ну как уже писал ранее..

 

Ну я этот файл не правил. И на локальном сервере всё работало. Это у меня сборка OpenCart.CMS-2.3.0.2.6 
Смотрю в 2.3.0.2.3 - там действительно синтаксис другой.

Сейчас поколдую с этим. Напишу попозже, что получается

Ссылка на комментарий
Поделиться на других сайтах


2 минуты назад, Klaus сказал:

Ну я этот файл не правил. И на локальном сервере всё работало. Это у меня сборка OpenCart.CMS-2.3.0.2.6 

https://github.com/BuslikDrev/OpenCart.CMS-2.3.0.2.6/blob/OpenCart.CMS-2.3.0.2.6/upload/system/framework.php

 

правили

Ссылка на комментарий
Поделиться на других сайтах

8 минут назад, Prooksius сказал:

framework - отдельный файл, а не метод класса контроллера, поэтому в этом файле $this неприемлемо.
Ну как уже писал ранее..

 

Взял фреймворк от версии 2.3.0.2.3 - ошибок стало меньше

Fatal error: Uncaught Error: Call to a member function get() on string in /home/srsru/public_html/system/library/session.php:20 Stack trace: #0 /home/srsru/public_html/system/framework.php(45): Session->__construct() #1 /home/srsru/public_html/system/startup.php(130): require_once('/home/srsru/pub...') #2 /home/srsru/public_html/index.php(19): start('catalog') #3 {main} thrown in /home/srsru/public_html/system/library/session.php on line 20

 

Ссылка на комментарий
Поделиться на других сайтах


1 минуту назад, Prooksius сказал:

у вас измененные файлы, может быть все что угодно. Смотрите код...

Да я тоже вроде с гитхаба качал
Но спасибо, что подметили. Буду отлавливать по другим файлам тоже

Ссылка на комментарий
Поделиться на других сайтах


8 минут назад, Prooksius сказал:

у вас измененные файлы, может быть все что угодно. Смотрите код...

Всё получилось. Огромное СПАСИБО!!!

Ссылка на комментарий
Поделиться на других сайтах


После  замены нескольких фалов сайт действительно заработал, но стали плодится файлы DIR_SESSIONsess_... в корне сайта и в папке admin
Подскажите откуда это берётся? Где можно это отключить?

И в админку не могу попасть, только на страницу входа. Дальше никак и дело не в пароле, так как при неправильном пароле выводится  соответствующая надпись, а при правильном ничего не происходит

Изменено пользователем Klaus
Ссылка на комментарий
Поделиться на других сайтах


Изменены базовые файлы опенкарта, что вы хотели.. Я бы на вашем месте перезаписал дефолтными файлами framework, session и им подобные из library.
Ну или смотреть, где ошибки и исправлять, если уж так надо именно эти изменения..

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.