Post by lukehackett85 » Fri Feb 19, 2021 2:14 pm

Hi guys, my opencart 3.0.3.2 has for some reason gone down and appears to be on a reccouring loop of trying to load on the frontpage, using large amounts of physical memory and cpu on my server (despite never showing so much as an image)

The admin panel works no problem

The error log within opencart contains just a long list of stuff like this (I've changed my username below for security)
2021-02-19 6:01:56 - PHP Warning: unlink(/home/xxxxxxxxxxxxxx/public_html/xxxx/storage/cache/cache.catalog.language.1613718116): No such file or directory in /home/xxxxxxxxxxxxxx/public_html/system/library/cache/file.php on line 68
2021-02-19 6:04:34 - PHP Warning: unlink(/home/xxxxxxxxxxxxxx/public_html/xxxx/storage/cache/cache.catalog.language.1613718274): No such file or directory in /home/xxxxxxxxxxxxxx/public_html/system/library/cache/file.php on line 68

The error_log on the actual root of the site itself contains more worrying looking ones
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once()
#1 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#2 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[18-Feb-2021 20:22:03 UTC] PHP Fatal error: Uncaught Error: Class 'Config' not found in /home/xxxxxxxxxxxx/public_html/system/framework.php:408
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once()
#1 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#2 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[18-Feb-2021 20:22:03 UTC] PHP Fatal error: Uncaught Error: Class 'Config' not found in /home/xxxxxxxxxxxx/public_html/system/framework.php:408
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once()
#1 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#2 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[18-Feb-2021 20:22:03 UTC] PHP Fatal error: Uncaught Error: Class 'Config' not found in /home/xxxxxxxxxxxx/public_html/system/framework.php:408
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once()
#1 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#2 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[18-Feb-2021 20:22:05 UTC] PHP Fatal error: Uncaught Error: Class 'Config' not found in /home/xxxxxxxxxxxx/public_html/system/framework.php:408
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once()
#1 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#2 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[19-Feb-2021 03:03:44 UTC] PHP Fatal error: Uncaught Exception: Error: <br />Error No: in /home/xxxxxxxxxxxx/public_html/system/library/db/mysqli.php:10
Stack trace:
#0 /home/xxxxxxxxxxxx/public_html/xxxxxx/storage/modification/system/library/db.php(35): DB\MySQLi->__construct('localhost', 'USERNAME_XXX', 'PASSWORD', 'DBUSER_XXXXX...', '3306')
#1 /home/xxxxxxxxxxxx/public_html/system/framework.php(482): DB->__construct('mysqli', 'localhost', 'USERNAME_XXX', 'password, 'XXXDBNAME...', 'xxxx')
#2 /home/xxxxxxxxxxxx/public_html/system/startup.php(104): require_once('/home/xxxxxxxxxxxx...')
#3 /home/xxxxxxxxxxxx/public_html/index.php(19): start('catalog')
#4 {main}
thrown in /home/xxxxxxxxxxxx/public_html/system/library/db/mysqli.php on line 10

Site was working fine yesterday morning, I added products and dispatched orders but did nothing technical, installed no add ons etc. The only thing of note I've done recently is deleted the contents of the image cache folder

Based on the above does anyone have any idea whats triggered this? web hosts simply state that I am exhausting server resources on my package - but this site with 20-50 users max a day is definitely not doing that naturally so something must be wrong

Any help appreciated

Thank you

Luke

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by opencartmart » Fri Feb 19, 2021 2:48 pm

lukehackett85 wrote:
Fri Feb 19, 2021 2:14 pm
thrown in /home/xxxxxxxxxxxx/public_html/system/framework.php on line 408
[18-Feb-2021 20:22:03 UTC] PHP Fatal error: Uncaught Error: Class 'Config' not found in /home/xxxxxxxxxxxx/public_html/system/framework.php:408
Make sure the file system/library/config.php exists

XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart


Active Member

Posts

Joined
Wed Oct 02, 2013 3:59 am

Post by lukehackett85 » Fri Feb 19, 2021 2:55 pm

Thanks for your reply
Confirmed, that file does exist.

Have found some new stuff this morning on the error log since enabling error logging properly, don't suppose this gives any further clues? I'm hopign you'll say its my webhost so I can end my suffering and switch away from them asap O0

2021-02-19 6:27:07 - PHP Warning: imagecolortransparent() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 175
2021-02-19 6:27:07 - PHP Warning: imagefilledrectangle() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 180
2021-02-19 6:27:07 - PHP Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 182
2021-02-19 6:27:07 - PHP Warning: imagecreatetruecolor(): Invalid image dimensions in /home/xxxxxxxxxx/public_html/system/library/image.php on line 169
2021-02-19 6:27:07 - PHP Warning: imagealphablending() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 172
2021-02-19 6:27:07 - PHP Warning: imagesavealpha() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 173
2021-02-19 6:27:07 - PHP Warning: imagecolorallocatealpha() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 174
2021-02-19 6:27:07 - PHP Warning: imagecolortransparent() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 175
2021-02-19 6:27:07 - PHP Warning: imagefilledrectangle() expects parameter 1 to be resource, boolean given in /home/xxxxxxxxxx/public_html/system/library/image.php on line 180

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by opencartmart » Fri Feb 19, 2021 3:09 pm

lukehackett85 wrote:
Fri Feb 19, 2021 2:14 pm
xxxxxxxxxxxx/public_html/system/framework.php on line 408
The warning does not break the site. You can ignore them for now.

The `system/framework.php` is unexpectedly long. The original file has only 168 lines for OC 3.0.3.2. Can you share it?

XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart


Active Member

Posts

Joined
Wed Oct 02, 2013 3:59 am

Post by lukehackett85 » Fri Feb 19, 2021 3:26 pm

It has 569 lines, (system/framework.php)

But hasn't been modified since 20/01 and site only died yesterday so unsure what is going on there

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by xxvirusxx » Fri Feb 19, 2021 3:28 pm

lukehackett85 wrote:
Fri Feb 19, 2021 3:26 pm
It has 569 lines, (system/framework.php)
Your framework.
Original framework has only 168 lines and that's why asked if you can share it.

Upgrade Service | OC 2.3.0.2 PHP 8 | My Custom OC 3.0.3.8 | Buy me a beer


User avatar
Expert Member

Posts

Joined
Tue Jul 17, 2012 10:35 pm
Location - România

Post by sw!tch » Fri Feb 19, 2021 3:43 pm

lukehackett85 wrote:
Fri Feb 19, 2021 2:14 pm
public_html/xxxxxx/storage/modification/system/library/db.php(35):
Curious what modification you have that requires modification of db.php?

Full Stack Web Developer :: Send a PM for Custom Work.
Backup and learn how to recover before you make any changes!


Active Member

Posts

Joined
Sat Apr 28, 2012 2:32 pm

Post by xxvirusxx » Fri Feb 19, 2021 3:44 pm

sw!tch wrote:
Fri Feb 19, 2021 3:43 pm
Curious what modification you have that requires modification of db.php?
It is a secret :laugh:

Upgrade Service | OC 2.3.0.2 PHP 8 | My Custom OC 3.0.3.8 | Buy me a beer


User avatar
Expert Member

Posts

Joined
Tue Jul 17, 2012 10:35 pm
Location - România

Post by lukehackett85 » Fri Feb 19, 2021 3:58 pm

Please see below the contents of framework

Code: Select all

<?php
if (!defined('VERSION')) {
	$index = file_get_contents('../index.php');
	if (preg_match('/define\(\'VERSION\',(.*)\);/', $index, $matches)) {
		$version = $matches[1];
		$version = trim($version);
		$version = trim($version, '\'');
		define('VERSION', $version);
	}
}

if (version_compare(VERSION, '2.3', '<')):
// Registry
$registry = new Registry();

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

// Config
$config = new Config();
$config->load('default');
$config->load($application_config);
$registry->set('config', $config);

// Request
$registry->set('request', new Request());

// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$registry->set('response', $response);

// Database
if ($config->get('db_autostart')) {
	$registry->set('db', new DB($config->get('db_type'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
}

// Session
if ($config->get('session_autostart')) {
	$session = new Session();
	$session->start();
	$registry->set('session', $session);
}

// Cache
$registry->set('cache', new Cache($config->get('cache_type'), $config->get('cache_expire')));

// Url
$registry->set('url', new Url($config->get('site_ssl')));

// Language
$language = new Language($config->get('language_default'));
$language->load($config->get('language_default'));
$registry->set('language', $language);

// Document
$registry->set('document', new Document());

// Event
$event = new Event($registry);
$registry->set('event', $event);

// Event Register
if ($config->has('action_event')) {
	foreach ($config->get('action_event') as $key => $value) {
		$event->register($key, new Action($value));
	}
}

// Config Autoload
if ($config->has('config_autoload')) {
	foreach ($config->get('config_autoload') as $value) {
		$loader->config($value);
	}
}

// Language Autoload
if ($config->has('language_autoload')) {
	foreach ($config->get('language_autoload') as $value) {
		$loader->language($value);
	}
}

// Library Autoload
if ($config->has('library_autoload')) {
	foreach ($config->get('library_autoload') as $value) {
		$loader->library($value);
	}
}

// Model Autoload
if ($config->has('model_autoload')) {
	foreach ($config->get('model_autoload') as $value) {
		$loader->model($value);
	}
}

// Front Controller
$controller = new Front($registry);

// Pre Actions
if ($config->has('action_pre_action')) {
	foreach ($config->get('action_pre_action') as $value) {
		$controller->addPreAction(new Action($value));
	}
}

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

// Output
$response->setCompression($config->get('config_compression'));
$response->output();
elseif (version_compare(VERSION, '3', '<')):
global $registry, $config, $loader, $session;

// Registry
$registry = new Registry();

// Config
$config = new Config();
$config->load('default');
$config->load($application_config);
$registry->set('config', $config);

// Timezone
if (!ini_get('date.timezone') && $config->has('config_timezone')) {
	date_default_timezone_set($config->get('config_timezone'));
}

// Event
$event = new Event($registry);
$registry->set('event', $event);

// Event Register
if ($config->has('action_event')) {
	foreach ($config->get('action_event') as $key => $value) {
		$event->register($key, new Action($value));
	}
}

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

// Request
$registry->set('request', new Request());

// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$registry->set('response', $response);

// Database
if ($config->get('db_autostart')) {
	$registry->set('db', new DB($config->get('db_type'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
}

// Session
$session = new Session();

if ($config->get('session_autostart')) {
	$session->start();
}

$registry->set('session', $session);

// Cache 
$registry->set('cache', new Cache($config->get('cache_type'), $config->get('cache_expire')));

// Url
if ($config->get('url_autostart')) {
	$registry->set('url', new Url($config->get('site_base'), $config->get('site_ssl')));
}

// Language
$language = new Language($config->get('language_default'));
$language->load($config->get('language_default'));
$registry->set('language', $language);

// Document
$registry->set('document', new Document());

// Config Autoload
if ($config->has('config_autoload')) {
	foreach ($config->get('config_autoload') as $value) {
		$loader->config($value);
	}
}

// Language Autoload
if ($config->has('language_autoload')) {
	foreach ($config->get('language_autoload') as $value) {
		$loader->language($value);
	}
}

// Library Autoload
if ($config->has('library_autoload')) {
	foreach ($config->get('library_autoload') as $value) {
		$loader->library($value);
	}
}

// Model Autoload
if ($config->has('model_autoload')) {
	foreach ($config->get('model_autoload') as $value) {
		$loader->model($value);
	}
}

// Front Controller
$controller = new Front($registry);

// Pre Actions
if ($config->has('action_pre_action')) {
	foreach ($config->get('action_pre_action') as $value) {
		$controller->addPreAction(new Action($value));
	}
}

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

// Output
$response->setCompression($config->get('config_compression'));
$response->output();
elseif (version_compare(VERSION, '3.0.2.0', '<')):
global $registry, $config, $loader, $session;
// Registry
$registry = new Registry();

// Config
$config = new Config();
$config->load('default');
$config->load($application_config);
$registry->set('config', $config);

// Log
$log = new Log($config->get('error_filename'));
$registry->set('log', $log);

date_default_timezone_set($config->get('date_timezone'));

set_error_handler(function($code, $message, $file, $line) use($log, $config) {
	// error suppressed with @
	if (error_reporting() === 0) {
		return false;
	}

	switch ($code) {
		case E_NOTICE:
		case E_USER_NOTICE:
			$error = 'Notice';
			break;
		case E_WARNING:
		case E_USER_WARNING:
			$error = 'Warning';
			break;
		case E_ERROR:
		case E_USER_ERROR:
			$error = 'Fatal Error';
			break;
		default:
			$error = 'Unknown';
			break;
	}

	if ($config->get('error_display')) {
		echo '<b>' . $error . '</b>: ' . $message . ' in <b>' . $file . '</b> on line <b>' . $line . '</b>';
	}

	if ($config->get('error_log')) {
		$log->write('PHP ' . $error . ':  ' . $message . ' in ' . $file . ' on line ' . $line);
	}

	return true;
});

// Event
$event = new Event($registry);
$registry->set('event', $event);

// Event Register
if ($config->has('action_event')) {
	foreach ($config->get('action_event') as $key => $value) {
		foreach ($value as $priority => $action) {
			$event->register($key, new Action($action), $priority);
		}
	}
}

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

// Request
$registry->set('request', new Request());

// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$response->setCompression($config->get('config_compression'));
$registry->set('response', $response);

// Database
if ($config->get('db_autostart')) {
	$registry->set('db', new DB($config->get('db_engine'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
}

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

if ($config->get('session_autostart')) {
	/*
	We are adding the session cookie outside of the session class as I believe
	PHP messed up in a big way handling sessions. Why in the hell is it so hard to
	have more than one concurrent session using cookies!

	Is it not better to have multiple cookies when accessing parts of the system
	that requires different cookie sessions for security reasons.

	Also cookies can be accessed via the URL parameters. So why force only one cookie
	for all sessions!
	*/

	if (isset($_COOKIE[$config->get('session_name')])) {
		$session_id = $_COOKIE[$config->get('session_name')];
	} else {
		$session_id = '';
	}

	$session->start($session_id);

	setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
}

// Cache
$registry->set('cache', new Cache($config->get('cache_engine'), $config->get('cache_expire')));

// Url
if ($config->get('url_autostart')) {
	$registry->set('url', new Url($config->get('site_url'), $config->get('site_ssl')));
}

// Language
$language = new Language($config->get('language_directory'));
$registry->set('language', $language);

// OpenBay Pro
$registry->set('openbay', new Openbay($registry));

// Document
$registry->set('document', new Document());

// Config Autoload
if ($config->has('config_autoload')) {
	foreach ($config->get('config_autoload') as $value) {
		$loader->config($value);
	}
}

// Language Autoload
if ($config->has('language_autoload')) {
	foreach ($config->get('language_autoload') as $value) {
		$loader->language($value);
	}
}

// Library Autoload
if ($config->has('library_autoload')) {
	foreach ($config->get('library_autoload') as $value) {
		$loader->library($value);
	}
}

// Model Autoload
if ($config->has('model_autoload')) {
	foreach ($config->get('model_autoload') as $value) {
		$loader->model($value);
	}
}

// Route
$route = new Router($registry);

// Pre Actions
if ($config->has('action_pre_action')) {
	foreach ($config->get('action_pre_action') as $value) {
		$route->addPreAction(new Action($value));
	}
}

// Dispatch
$route->dispatch(new Action($config->get('action_router')), new Action($config->get('action_error')));

// Output
$response->output();
else:
global $registry, $config, $loader, $session;

// Registry
$registry = new Registry();

// Config
$config = new Config();
$config->load('default');
$config->load($application_config);
$registry->set('config', $config);

// Log
$log = new Log($config->get('error_filename'));
$registry->set('log', $log);

date_default_timezone_set($config->get('date_timezone'));

set_error_handler(function($code, $message, $file, $line) use($log, $config) {
	// error suppressed with @
	if (error_reporting() === 0) {
		return false;
	}

	switch ($code) {
		case E_NOTICE:
		case E_USER_NOTICE:
			$error = 'Notice';
			break;
		case E_WARNING:
		case E_USER_WARNING:
			$error = 'Warning';
			break;
		case E_ERROR:
		case E_USER_ERROR:
			$error = 'Fatal Error';
			break;
		default:
			$error = 'Unknown';
			break;
	}

	if ($config->get('error_display')) {
		echo '<b>' . $error . '</b>: ' . $message . ' in <b>' . $file . '</b> on line <b>' . $line . '</b>';
	}

	if ($config->get('error_log')) {
		$log->write('PHP ' . $error . ':  ' . $message . ' in ' . $file . ' on line ' . $line);
	}

	return true;
});

// Event
$event = new Event($registry);
$registry->set('event', $event);

// Event Register
if ($config->has('action_event')) {
	foreach ($config->get('action_event') as $key => $value) {
		foreach ($value as $priority => $action) {
			$event->register($key, new Action($action), $priority);
		}
	}
}

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

// Request
$registry->set('request', new Request());

// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$response->setCompression($config->get('config_compression'));
$registry->set('response', $response);

// Database
if ($config->get('db_autostart')) {
	$registry->set('db', new DB($config->get('db_engine'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
}

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

if ($config->get('session_autostart')) {
	/*
	We are adding the session cookie outside of the session class as I believe
	PHP messed up in a big way handling sessions. Why in the hell is it so hard to
	have more than one concurrent session using cookies!

	Is it not better to have multiple cookies when accessing parts of the system
	that requires different cookie sessions for security reasons.

	Also cookies can be accessed via the URL parameters. So why force only one cookie
	for all sessions!
	*/

	if (isset($_COOKIE[$config->get('session_name')])) {
		$session_id = $_COOKIE[$config->get('session_name')];
	} else {
		$session_id = '';
	}

	$session->start($session_id);

	setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
}

// Cache
$registry->set('cache', new Cache($config->get('cache_engine'), $config->get('cache_expire')));

// Url
if ($config->get('url_autostart')) {
	$registry->set('url', new Url($config->get('site_url'), $config->get('site_ssl')));
}

// Language
$language = new Language($config->get('language_directory'));
$registry->set('language', $language);

// OpenBay Pro
$registry->set('openbay', new Openbay($registry));

// Document
$registry->set('document', new Document());

// Config Autoload
if ($config->has('config_autoload')) {
	foreach ($config->get('config_autoload') as $value) {
		$loader->config($value);
	}
}

// Language Autoload
if ($config->has('language_autoload')) {
	foreach ($config->get('language_autoload') as $value) {
		$loader->language($value);
	}
}

// Library Autoload
if ($config->has('library_autoload')) {
	foreach ($config->get('library_autoload') as $value) {
		$loader->library($value);
	}
}

// Model Autoload
if ($config->has('model_autoload')) {
	foreach ($config->get('model_autoload') as $value) {
		$loader->model($value);
	}
}

// Route
$route = new Router($registry);

// Pre Actions
if ($config->has('action_pre_action')) {
	foreach ($config->get('action_pre_action') as $value) {
		$route->addPreAction(new Action($value));
	}
}

// Dispatch
$route->dispatch(new Action($config->get('action_router')), new Action($config->get('action_error')));

// Output
$response->output();
endif;

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by lukehackett85 » Fri Feb 19, 2021 4:04 pm

I'm not 100% sure which of my addons would require to modify db.php,
I use a geo location tool that works out peoples countries to decide if to display a price with tax or not, but I've had it a very long time no problems. I use notifywhenavailable by isense labs so people can setup notification when a product comes back into stock (from product catalog page) and I use the import export tool to add products.

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by sw!tch » Fri Feb 19, 2021 4:06 pm

Theme used?

Full Stack Web Developer :: Send a PM for Custom Work.
Backup and learn how to recover before you make any changes!


Active Member

Posts

Joined
Sat Apr 28, 2012 2:32 pm

Post by lukehackett85 » Fri Feb 19, 2021 4:23 pm

I use Journal 3 theme for Opencart. I haven't changed anything on it this year though let alone in last 24hrs

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by sw!tch » Fri Feb 19, 2021 5:47 pm

Reach out to your host, it might be possible they updated PHP or made some server change. Can't really offer much support here on Journal since its a commercial theme.

Full Stack Web Developer :: Send a PM for Custom Work.
Backup and learn how to recover before you make any changes!


Active Member

Posts

Joined
Sat Apr 28, 2012 2:32 pm

Post by JNeuhoff » Fri Feb 19, 2021 6:11 pm

lukehackett85 wrote:
Fri Feb 19, 2021 4:04 pm
I'm not 100% sure which of my addons would require to modify db.php,
I use a geo location tool that works out peoples countries to decide if to display a price with tax or not, but I've had it a very long time no problems. I use notifywhenavailable by isense labs so people can setup notification when a product comes back into stock (from product catalog page) and I use the import export tool to add products.
You didn't tell us the whole story from the beginning. You are using a non-standard compliant framework based on Journal3 which, being of such a poor quality, does unneeded core file modifications, including for the system/library/db.php. Your system/framework.php clearly is messed up for no apparent reason and should be restored to the original content! Also, use PHP 7.4 or 7.3, not PHP 8.

Further to this, you got these options:
1) Get in touch with the Journal support, don't expect OpenCart users to fix poor quality 3rd party commercial frameworks
2) Remove Journal3 and install a proper standard-compliant web theme
3) Or find a professional developer on the commercial section of this OpenCart forum

Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig


User avatar
Guru Member

Posts

Joined
Wed Dec 05, 2007 3:38 am


Post by paulfeakins » Fri Feb 19, 2021 6:37 pm

lukehackett85 wrote:
Fri Feb 19, 2021 4:23 pm
I use Journal 3 theme for Opencart. I haven't changed anything on it this year though let alone in last 24hrs
https://support.journal-theme.com/

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Guru Member
Online

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by xxvirusxx » Fri Feb 19, 2021 6:57 pm

framework is modified by another extension....and not journal3.

Upgrade Service | OC 2.3.0.2 PHP 8 | My Custom OC 3.0.3.8 | Buy me a beer


User avatar
Expert Member

Posts

Joined
Tue Jul 17, 2012 10:35 pm
Location - România

Post by lukehackett85 » Sun Feb 21, 2021 4:40 pm

Any recommendations for themes that are regarded as being more stable/compatible with the core opencart are welcome

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am

Post by xxvirusxx » Sun Feb 21, 2021 8:21 pm

Disable that extension who make changes in framework.php and check if you have problems.

Upgrade Service | OC 2.3.0.2 PHP 8 | My Custom OC 3.0.3.8 | Buy me a beer


User avatar
Expert Member

Posts

Joined
Tue Jul 17, 2012 10:35 pm
Location - România

Post by paulfeakins » Mon Feb 22, 2021 7:57 pm

lukehackett85 wrote:
Sun Feb 21, 2021 4:40 pm
Any recommendations for themes that are regarded as being more stable/compatible with the core opencart are welcome
See here: viewtopic.php?t=157098

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Guru Member
Online

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by lukehackett85 » Wed Feb 24, 2021 5:13 pm

xxvirusxx, thanks for replies. Unfortunately I've got no idea what would have edited that file, as I haven't had a new addon in quite a while.

One thing I didn't think of on this was that an SEO company started working for me last week doing on page optimizations etc, and they actually broke the site when they did something with google analytics but then they removed it when they saw its conflict with something existing, I'm wondering if they only half removed it or something. I've since moved the site to much more powerful hosting that allows 200+ sql connection things and now I don't get this error anymore that I originally posted about. Instead I just get a very slow site at 70pc cpu usage

Interestingly when HTACCESS is disabled, the site is like lightning, but none of the product pages load. When its enabled again it sometimes has 37 second response times and the CPU usage goes through the roof again. When its enabled and SEO friendly urls are turned off the CPU usage drops to 40-50pc and the site is functioning, but 40-50pc of an 8 core dedicated cpu seems a bit much for Opencart Lol.

paulfeakins, thanks for the link. I just read it, so I'm basically looking at a custom theme to get something that isn't frowned upon by Opencart team? I will be choosing one of the ones that are described as being the lesser of several evils later so that the theme can be eliminated.

New member

Posts

Joined
Sun Apr 24, 2016 5:09 am
Who is online

Users browsing this forum: No registered users and 264 guests