Я новичок в Magento и обработчик сессии php моего сервера по умолчанию memcached. Я только что установил Magento (версия 2) и продолжаю получать сообщение об ошибке:
open(localhost:11211/sess_qmnpedun2j0ie0jed9g8r08pd0, O_RDWR) failed: No such file or directory
Он пытается использовать обработчик файлов для сессий Memcached. Как я должен изменить это в Magento? Google-ing постоянно просит меня перейти на local.xml и добавить следующее:
<session_save><![CDATA[memcached]]></session_save>
<session_save_path><![CDATA[tcp://localhost:11211?persistent=1&weight=2&timeout=10&retry_interval=10]]></session_save_path>
Но проблема в том, что у меня нет MAGENTO_DIR/app/etc/local.xml
так что я действительно не знаю, что делать.
Я установил Magento2 по ссылкам, приведенным в их GitHub страница (установка из командной строки). Установка прошла успешно и база данных и все создано.
Как я могу изменить обработчик сеанса для использования memcached в Magento-2?
Это потому что в Magento2 local.xml
больше не существует и заменяется config.php
а также config.php
в .gitignore
(поэтому вы не видите его в GitHub!).
Вот Вы можете найти инструкции по созданию вашего файла config.php. Внизу страницы под Детали сегмента Вы можете увидеть, как определить вашу личную конфигурацию.
А также Вот Вы можете найти пример config.php
файл в Magento2.
Например, в отношении вашего случая вам нужно добавить эту структуру в ваш config.php
файл:
__/session
|__/save
|-- <files|db>
Так что я думаю, в конце концов вам нужно добавить что-то вроде этого в ваш config.php:
'session' =>
array (
'save' => 'memcache',
'save_path' => 'tcp://localhost:11211?persistent=1&weight=2&timeout=10&retry_interval=10'
),
Не забудьте настроить путь (сервер и порт) в соответствии с вашей средой.
поддержка memcache была удалена в magento 2.3.0.
Я создал плагин который позволяет использовать memcache для сессии.
Документация доступна здесь: https://connect20.aveo-trade.cz/docs/user-guide-memcached-2.3.0.pdf