CMS Opencart. Настройка Memcache для Opencart

Sergey_Dodonov
6 років
0

Подскажите пожалуйста, как его настроить?
Следуя данной инструкции: opencartforum.com/files/file/59-memcache-support/ всё сделал, в файле config.php указал:

define('CACHE_DRIVER', 'memcache');
define('MEMCACHE_HOSTNAME', 'unix:///home/мой сайт/.system/memcache/socket');
define('MEMCACHE_PORT', '0');
define('MEMCACHE_NAMESPACE', 'opencart_test');

В файле cache.php везде где было написано memchacheD , убрал последнюю букву.

В итоге в админке пишется Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /home/geekbox/мой сайт/www/system/library/cache.php on line 10, а в папке system/cache продолжают создаваться файлы, но по идее не должны.

Прикрепил 2 файла, посмотрите, что не верно сделал.

Евгений В.
6 років
1

Попробуйте использовать файл из прикреплённого архива, должно работать как надо.
А в config.php укажите:
<div class='forum-code'><div class="php" style="font-family:monospace;"><a href="http://www.php.net/define"><span style="color: #990000;">define</span></a><span style="color: #009900;">(</span><span style="color: #0000ff;">'CACHE_DRIVER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'memcached'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br /><a href="http://www.php.net/define"><span style="color: #990000;">define</span></a><span style="color: #009900;">(</span><span style="color: #0000ff;">'MEMCACHE_HOSTNAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'unix:///home/ИМЯАККАУНТА/.system/memcache/socket'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br /><a href="http://www.php.net/define"><span style="color: #990000;">define</span></a><span style="color: #009900;">(</span><span style="color: #0000ff;">'MEMCACHE_PORT'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'0'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br /><a href="http://www.php.net/define"><span style="color: #990000;">define</span></a><span style="color: #009900;">(</span><span style="color: #0000ff;">'MEMCACHE_NAMESPACE'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'opencart_test'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>


<div class="forum-quote quote-34176"><span class="quote-message">Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /home/geekbox/мой сайт/www/system/library/cache.php on line 10</span> <span class="quote-author">© Geekbox</span></div>
Это уведомление можно игнорировать. Оно возникает изза того что админ-раздел опенкарта использует отдельный конфиг (/admin/config.php), в котором нет строки define('CACHE_DRIVER', 'memcached');. Соответственно скрипт ругается что в cache.php используется ранее не объявленная переменная. Добавлять туда её не нужно, т.к. кеширование админки может привести к неприятным багам.
cache.zip

Sergey_Dodonov
6 років
0

Прикрепленный файл странно выглядит, что то с кодировкой, и тип файла не php, так и должно быть?

Сменил на php, проверил с этим файлом, с ним точно что то не так, на сайте сразу ошибки вылезли.
И ещё есть такой момент, когда указываю в этой строке define('CACHE_DRIVER', 'memcached'); - memcached, то вместо сайта белый экран, а когда memcache то хоть сайт работает.

По первому способу как я делал, вроде Memcache запускается, в его разделе там где написано bytes и curr_items цифры увеличиваются, но вот смущает почему файлы появляется в папке system/cache как и когда Memcache не был включен.

Евгений В.
6 років
1

Сменил на php, проверил с этим файлом, с ним точно что то не так, на сайте сразу ошибки вылезли. © Geekbox

Не надо менять расширения, это обычный zip-архив. :)

Просто распакуйте его любым архиватором - внутри файл cache.php - вот его и надо использовать.

UPD. переименовал архив чтоб не вводить в смущение.

Sergey_Dodonov
6 років
0

А у меня скачивается архив с названием 01.L5VF49DN8PDVU6UUGHK83ANK7CLBJZYV, а в нём файл 01.L5VF49DN8PDVU6UUGHK83ANK7CLBJZYV . Прикрепил его, странно как то =)

Прикрепите пожалуйста файл cache без архива ).

UPD. Отбой, нашёл Ваш ответ с архивом на форуме опенкарта, там норм скачивается, буду пробовать )

Евгений В.
6 років
1

А у меня скачивается архив с названием 01.L5VF49DN8PDVU6UUGHK83ANK7CLBJZYV, а в нём файл 01.L5VF49DN8PDVU6UUGHK83ANK7CLBJZYV . Прикрепил его, странно как то =) © Geekbox

Уточните пожалуйста, в каком браузере пробуете? А то пока воспроизвести не удаётся. Скачивается 01.L5VF49DN8PDVU6UUGHK83ANK7CLBJZYV.zip с cache.php внутри: screenshots.pp.ua/imgs/3208/5e5635d.jpg

Sergey_Dodonov
6 років
0

В хроме и фаерфоксе пробовал. С форума такой же файл скачивается как и здесь.
Какой то прикол у меня наверное с этим архивом и файлом )), наконец то распаковал, а там с кодировкой что то (на скрине слева), перевожу в utf-8 без bom (на скрине справа), становится не на много лучше ).

Евгений В.
6 років
1

Ок. Вот незапакованный вариант. (нужно сохранить как cache.php )
cache.php

Sergey_Dodonov
6 років
1

Что то мне сегодня с кодировкой не везёт =), в итоге memcache заработал, только файлы некоторых модулей все равно появляются в system/cache, т.е эта папка по любому не пустая, у Вас так же? А вот что с кодировкой, обратил внимание что глюкнула одна категория на сайте (скрин). Уже и выключил memcache, очистил кэш на хостинге, выключил оптимизацию всю, очистил кэш на фтп, а категория все равно такая. Не знаете в чем может быть дело? Мог ли файл cache с плохой кодировкой как то повлиять на базу? ) Похоже я где то напартачил ).

Разобрался ), такое возникает при указании в админке уровня сжатия (gzip).

Евгений В.
6 років
1

Что то мне сегодня с кодировкой не везёт =), в итоге memcache заработал, только файлы некоторых модулей все равно появляются в system/cache, т.е эта папка по любому не пустая, у Вас так же? © Geekbox

Да, некоторые модули кешируются в файл, насколько я знаю. Все, которые относятся к админ-панели сайта - 100%

Sergey_Dodonov
6 років
1

Да, некоторые модули кешируются в файл, насколько я знаю. Все, которые относятся к админ-панели сайта - 100% © Евгений В.

Ясно, значит всё ок ). Спасибо за помощь и что уделили время =).

Sergey_Dodonov
6 років
0

Евгений, взгляните пожалуйста на скрин, сегодня посмотрел что на фтп в папке system/cache и в статистике показывает, видно что в memcache попало 14 файлов, а на фтп остается 26, не многовато ли это? Можно ли какие то файлы ещё в memcache отправить? Где то на опенкарт форуме писали что вообще если memcache работает правильно, то в папке system/cache не должны появляться файлы. Я просто не знаю как должно быть, может действительно что то не на 100% правильно кэширует у меня?

Евгений В.
6 років
0

На мой взгляд (подчеркну - на мой взгляд) всё в порядке. Судя по содержимому файлов в них пишутся данные отдельных модулей (блог, seo, какие-то хуки). Так ли это должно быть - стоит уточнять у автора скрипта.
Но опять же из личного опыта - в опенкарте достаточно много вещей либо не кешируются (без применения специально созданных для этого плагинов), либо кешируется мимо основного кеша. Ради интереса - можно попробовать из скрипта выпилить вообще всякую возможность записи в файл, оставив только мемкеш. И посмотреть - будут ли создаваться эти файлы. Но это уже варварство :)

Sergey_Dodonov
6 років
0

На мой взгляд (подчеркну - на мой взгляд) всё в порядке. Судя по содержимому файлов в них пишутся данные отдельных модулей (блог, seo, какие-то хуки). Так ли это должно быть - стоит уточнять у автора скрипта.
Но опять же из личного опыта - в опенкарте достаточно много вещей либо не кешируются (без применения специально созданных для этого плагинов), либо кешируется мимо основного кеша. Ради интереса - можно попробовать из скрипта выпилить вообще всякую возможность записи в файл, оставив только мемкеш. И посмотреть - будут ли создаваться эти файлы. Но это уже варварство :)
© Евгений В.

Понял, спасибо за ответ =)

Тема закрита.