magento 如何将会话处理程序更改为 memcached?

magento how to change session handler to memcached?

我是 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,所以我真的不知道该怎么办。

我通过 github 页面中给出的链接安装了 Magento2(命令行安装)。安装成功并创建了数据库和所有内容。

如何更改会话处理程序以在 Magento-2 中使用 memcached?

这是因为在 Magento2 中 local.xml 不再存在并被替换为 config.phpconfig.php.gitignore 中(因此您看不到它在 GitHub!).

Here 您可以找到创建 config.php 文件的说明。在页面底部的 细分详细信息 下,您可以看到如何定义您的个人配置。

here 你可以在 Magento2 中找到 config.php 文件的例子。

例如,关于您的案例,您需要将此结构添加到您的 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'
           ),

不要忘记调整路径(服务器和端口)以匹配您的环境。

magento 2.3.0 中不再支持内存缓存。

我创建了 plugin,它允许使用内存缓存进行会话。

文档可在此处获得:https://connect20.aveo-trade.cz/docs/user-guide-memcached-2.3.0.pdf