Jump to content

Recommended Posts

On 2/5/2020 at 9:44 AM, freelancer said:

@Limonad2014 которая у вас версия memcached ? пишут решение работает от 1.4.2 and higher

Версия 2.2.0

 

On 2/5/2020 at 10:24 AM, nikifalex said:

только какое отношение seo pro имеет к memcached?

seo_pro формирует кеш-файл с ссылочным массивом, который в моём конкретном случае весит около 8 Мб

При включённом memcached этот массив не кешируется в связи с лимитом на размер файла в 1 Мб на виртуальном хостинге Beget

Edited by Limonad2014

Share this post


Link to post
Share on other sites
On 2/5/2020 at 9:44 AM, freelancer said:

@Limonad2014 которая у вас версия memcached ? пишут решение работает от 1.4.2 and higher

@freelancer Не совсем так. Пишут, что в memcached версий 1.4.2 и выше размер загружаемого файла можно задать командой "-I", чтобы на выходе был параметр 

Quote

memcached -I 5m

(5Мб для примера.) Но на моём хосинге memcached предоставляется как есть, без возможности конфигурирования.

Edited by Limonad2014

Share this post


Link to post
Share on other sites

@Limonad2014

этот код у вас работает без ошибок ?

$cache = new MultipartCache();
$cache->setLimit(1024);

Share this post


Link to post
Share on other sites
On 2/6/2020 at 9:38 PM, freelancer said:

@Limonad2014

этот код у вас работает без ошибок ?


$cache = new MultipartCache();
$cache->setLimit(1024);

Не совсем понимаю, куда его внедрять. В контроллер seo_pro.php или system/library/cache.php ?

Share this post


Link to post
Share on other sites
16 hours ago, freelancer said:

@Limonad2014 memcached, вас же это интересует

У нас, похоже, недопонимание. Memcached у меня на хостинге неконфигурируемый. Я не понимаю, куда внедрить код для лимитирования размера кеш-файла, вот этот

$cache = new MultipartCache();
$cache->setLimit(1024);

Вот переписанный файл system/library/cache.php (ocstore 1.5.5.1.2) для работы с memecached. Подскажите, куда конкретно можно впендюрить лимитер, чтобы работало.
 

Spoiler

<?php
final class Cache {
	private $expire;
	private $memcache;
	private $ismemcache = false;

  	public function __construct($exp = 3600) {
  		$this->expire = $exp;

  		if (CACHE_DRIVER == 'memcached')
  		{
		    $mc = new Memcache;
		    if ($mc->pconnect(MEMCACHE_HOSTNAME, MEMCACHE_PORT))
		    {
			$this->memcache = $mc;
			$this->ismemcache = true;
		    };
		};

		if (!$this->ismemcache)
		{
		    $files = glob(DIR_CACHE . 'cache.*');

		    if ($files) {
			    foreach ($files as $file) {
				    $time = substr(strrchr($file, '.'), 1);

			    if ($time < time()) {
					    if (file_exists($file)) {
						    @unlink($file);
					    }
				}
			    }
		    }
		}
  	}

	public function get($key) {
	    if ((CACHE_DRIVER == 'memcached') && $this->ismemcache)
	    {
		return($this->memcache->get(MEMCACHE_NAMESPACE . $key, 0));
	    }
	    else
	    {
		$files = glob(DIR_CACHE . 'cache.' . $key . '.*');

		if ($files) {
    		foreach ($files as $file) {
      			$cache = new MultipartCache();
				$cache->setLimit(1024);

				$handle = fopen($file, 'r');

				if ($handle) {
					$cache = fread($handle, filesize($file));

					fclose($handle);
				}

	      		return unserialize($cache);
   		 	}
		}
	    }
  	}

  	public function set($key, $value) {
	    if ((CACHE_DRIVER == 'memcached') && $this->ismemcache)
	    {
		$this->memcache->set(MEMCACHE_NAMESPACE . $key, $value, 0, $this->expire);
	    }
	    else
	    {

    		    $this->delete($key);

		    $file = DIR_CACHE . 'cache.' . $key . '.' . (time() + $this->expire);

		    $handle = fopen($file, 'w');

    		    fwrite($handle, serialize($value));

    		    fclose($handle);
    	    };
  	}

  	public function delete($key) {
	    if ((CACHE_DRIVER == 'memcached') && $this->ismemcache)
	    {
		$this->memcache->delete(MEMCACHE_NAMESPACE . $key);
	    }
	    else
	    {
		$files = glob(DIR_CACHE . 'cache.' . $key . '.*');

		if ($files) {
    		foreach ($files as $file) {
      			if (file_exists($file)) {
					@unlink($file);
					clearstatcache();
				}
    		}
		}
	    }
  	}
}
?>

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By legioner26
      599.00 руб
      Скачать/Купить дополнение


      SEO Генератор мета тегов (категории, товары), SEO URL
      Модуль SEO генератор мета описания позволяет провести оптимизацию всех категорий и товаров. Очень прост в эксплуатации
      При первом прохождении  перезаписывает meta по все товарам, категориям, и сохраняет информацию о заполнении проставляя метки. 
      Все что от Вас требуется, это задать шаблон для заполнения meta.
       
      Также добавлена возможность автоматической массовой генерации отсутствующих SEO URL в товарах и категориях,
      при нажатии на кнопку Обновить ЧПУ (SEO URL)  модуль проставить URL во всех товарах и категориях в которых они отсутствуют.
       
      Возможность устранения дублей SEO URL
       
      ПРИМЕР заполнения прилагается в скриншоте.
       
      УСТАНОВКА
      1. Установить модификатор через Установку дополнения, очистить кешь.
      2. Скопировать папку admin в корень сайта.
      УСТАНОВКА для ОС 3.х
       Устанавливаем архив Uodate-Meta3x.ocmod.zip через Установку расширений, чистим кеш.
      ПРИМЕЧАНИЕ
      Модуль не закублен с открытым исходным кодом, не требует ключа активации.
      Тех. поддержка осуществляется для клиентов купившим модуль для конкретного ресурса, поэтому при покупке обязательно указываем Ваш домен.
       
      ___________________
       
      Также советую приобрести модуль от разработчика @chukcha Редирект Универсал 
      Незаменимый инструмент для редиректов, имеется 410 жизненно важный для удаленных товаров.
       
      Добавил legioner26 Добавлено 31.03.2019 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет Старая цена 970  
    • By legioner26
      Модуль SEO генератор мета описания позволяет провести оптимизацию всех категорий и товаров. Очень прост в эксплуатации
      При первом прохождении  перезаписывает meta по все товарам, категориям, и сохраняет информацию о заполнении проставляя метки. 
      Все что от Вас требуется, это задать шаблон для заполнения meta.
       
      Также добавлена возможность автоматической массовой генерации отсутствующих SEO URL в товарах и категориях,
      при нажатии на кнопку Обновить ЧПУ (SEO URL)  модуль проставить URL во всех товарах и категориях в которых они отсутствуют.
       
      Возможность устранения дублей SEO URL
       
      ПРИМЕР заполнения прилагается в скриншоте.
       
      УСТАНОВКА
      1. Установить модификатор через Установку дополнения, очистить кешь.
      2. Скопировать папку admin в корень сайта.
      УСТАНОВКА для ОС 3.х
       Устанавливаем архив Uodate-Meta3x.ocmod.zip через Установку расширений, чистим кеш.
      ПРИМЕЧАНИЕ
      Модуль не закублен с открытым исходным кодом, не требует ключа активации.
      Тех. поддержка осуществляется для клиентов купившим модуль для конкретного ресурса, поэтому при покупке обязательно указываем Ваш домен.
       
      ___________________
       
      Также советую приобрести модуль от разработчика @chukcha Редирект Универсал 
      Незаменимый инструмент для редиректов, имеется 410 жизненно важный для удаленных товаров.
       
    • By Poxod86
      Доброго времени суток. Подскажите как решить проблему или это не является проблемой.
      Дело в том что на сайте https://texnoprofsnabrti.ru/ одна и та же страница доступна по нескольким адресам
      к примеру:
      1. https://texnoprofsnabrti.ru/rezinotehnicheskie-izdeliya/kolca-manzhety-salniki-vtulki-gryazesemniki/kolca-uplotnitelnye/kolca-uplotnitelnye-din-o-ring/Kolco_0,74_1,02_NBR_DIN_3771
      2. https://texnoprofsnabrti.ru/Kolco_0,74_1,02_NBR_DIN_3771
      3. https://texnoprofsnabrti.ru/Kolco_0,74_1,02_NBR_DIN_3771?search=Кольцо 0%2C74 - 1%2C02 NBR DIN 3771
      При этом отображение модуля (меню) на каждом URL разные. (см. боковое меню)
      Отсюда есть подозрение что это дубли. 
      Как это можно исправить?
      Нужно ли это исправлять?
    • By ScartFM
      При копировании товара (функционал в админке) - создаются 2 копии, вместо 1.
       
      Сначала думал из-за какого-то модуля. Поставил чистый ocStore 3.0.2. Проблема сохранилась.
      Подскажите в чем может быть проблема, куда смотреть?
       
       
       
    • By ibond
      Столкнулся с проблемой, что Опера делает дубли при добавлении новых модулей. Например, создаешь новый html-блок, и после сохранения появляется дубликат с новым id.
      https://monosnap.com/file/CAWNzoJOkjVzECqtrJpxqTXScLPJ25
       
      Поставил в лог запись и вижу, что контроллер отрабатывает два раза:
      2019-05-18 8:23:11 - extension 2019-05-18 8:23:25 - index() 2019-05-18 8:23:35 - index() 2019-05-18 8:23:35 - POST 2019-05-18 8:23:35 - addModule 2019-05-18 8:23:35 - index() 2019-05-18 8:23:35 - POST 2019-05-18 8:23:35 - addModule 2019-05-18 8:23:35 - extension  
      Замечено в версии OPR/62.0.3319.0 (Edition developer). На обычной Опере нормально и в других браузерах тоже. Проверял на opencart 2.x, 3.x.  В приватном окне тоже самое.
      Возможно добавилось что-то в настройках самой Оперы?
       
      Появилось наверное после последнего обновления, но точно не скажу.
       
      Есть у кого возможность проверить?
       
      UPDATE: Сделал полный реинсталл. Проблема пропала при версии 59.0.3218.0. Сразу после обновления проблема появилась.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.