2013-10-09 7 views
1

Я занимаюсь Redis как потенциальным решением для наших проблем с производительностью, но у меня возникают проблемы с настройкой Redis в Magneto Enterprise 1.13.0.2.Проблема с настройкой Magento Redis: не удается найти именованный модуль сеанса PHP (redis)

Я получаю следующую ошибку Warning: session_module_name(): Cannot find named PHP session module (redis)

Для меня это говорит, что он не знает о reddis обработчика сеанса.

Поскольку EE 1.13 Redis должен быть доступен из коробки, странно то, что full_page_cache работает с ним, но в стандарте cache и session_save нет.

Мой local.xml конфигурации:

<session_save><![CDATA[redis]]></session_save> 
    <session_save_path><![CDATA[tcp://127.0.0.1:6379?weight=2&timeout=2.5]]></session_save_path> 
    <cache> 
     <backend>Mage_Cache_Backend_Redis</backend> 
     <backend_options> 
      <server>127.0.0.1</server> <!-- or absolute path to unix socket --> 
      <port>6379</port> 
      <persistent></persistent> <!-- Specify a unique string like "cache-db0" to enable persistent connections. --> 
      <database>0</database> 
      <password></password> 
      <force_standalone>0</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP --> 
      <connect_retries>1</connect_retries> <!-- Reduces errors due to random connection failures --> 
      <read_timeout>10</read_timeout>   <!-- Set read timeout duration --> 
      <automatic_cleaning_factor>0</automatic_cleaning_factor> <!-- Disabled by default --> 
      <compress_data>1</compress_data> <!-- 0-9 for compression level, recommended: 0 or 1 --> 
      <compress_tags>1</compress_tags> <!-- 0-9 for compression level, recommended: 0 or 1 --> 
      <compress_threshold>20480</compress_threshold> <!-- Strings below this size will not be compressed --> 
      <compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy --> 
     </backend_options> 
    </cache> 
    <full_page_cache> 
     <backend>Mage_Cache_Backend_Redis</backend> 
     <backend_options> 
      <server>127.0.0.1</server> <!-- or absolute path to unix socket --> 
      <port>6379</port> 
      <persistent></persistent> <!-- Specify a unique string like "cache-db0" to enable persistent connections. --> 
      <database>1</database> <!-- Separate database 1 to keep FPC separately --> 
      <password></password> 
      <force_standalone>0</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP --> 
      <connect_retries>1</connect_retries> <!-- Reduces errors due to random connection failures --> 
      <lifetimelimit>57600</lifetimelimit> <!-- 16 hours of lifetime for cache record --> 
      <compress_data>0</compress_data>  <!-- DISABLE compression for EE FPC since it already uses compression --> 
     </backend_options> 
    </full_page_cache> 
</global> 

Я с трудом найти хорошую документацию для нее, я мог бы упасть обратно https://github.com/colinmollenhour/Cm_Cache_Backend_Redis, но я хотел бы использовать базовый пакет для этого funconality, и это делает очистка пути обновления.

http://www.magentocommerce.com/knowledge-base/entry/redis-magento-ce-ee#config-mage https://magento.stackexchange.com/questions/4264/redis-on-magento-enterprise-1-13

ответ

2

Это оказались проблема с отсутствующим расширением REDIS PECL, поэтому установить, что и вы должны быть хорошо идти:

pecl install redis

Я был под впечатлением, что я мог бы использовать автономный PHP с помощью следующих действий:

<force_standalone>1</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP --> 

Мой полный конфиг закончился тем, что:

<!-- Uses database 0 --> 
    <session_save><![CDATA[redis]]></session_save> 
    <session_save_path><![CDATA[tcp://127.0.0.1:6379?weight=2&timeout=2.5]]></session_save_path> 
    <cache> 
     <backend>Mage_Cache_Backend_Redis</backend> 
     <backend_options> 
      <server>127.0.0.1</server> <!-- or absolute path to unix socket --> 
      <port>6379</port> 
      <persistent></persistent> <!-- Specify a unique string like "cache-db0" to enable persistent connections. --> 
      <database>1</database> <!-- Separate database 2 to keep separate from FPC + Session --> 
      <password></password> 
      <force_standalone>0</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP --> 
      <connect_retries>1</connect_retries> <!-- Reduces errors due to random connection failures --> 
      <read_timeout>10</read_timeout>   <!-- Set read timeout duration --> 
      <automatic_cleaning_factor>0</automatic_cleaning_factor> <!-- Disabled by default --> 
      <compress_data>1</compress_data> <!-- 0-9 for compression level, recommended: 0 or 1 --> 
      <compress_tags>1</compress_tags> <!-- 0-9 for compression level, recommended: 0 or 1 --> 
      <compress_threshold>20480</compress_threshold> <!-- Strings below this size will not be compressed --> 
      <compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy --> 
     </backend_options> 
    </cache> 
    <full_page_cache> 
     <backend>Mage_Cache_Backend_Redis</backend> 
     <backend_options> 
      <server>127.0.0.1</server> <!-- or absolute path to unix socket --> 
      <port>6379</port> 
      <persistent></persistent> <!-- Specify a unique string like "cache-db0" to enable persistent connections. --> 
      <database>2</database> <!-- Separate database 2 to keep FPC separately --> 
      <password></password> 
      <force_standalone>1</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP --> 
      <connect_retries>1</connect_retries> <!-- Reduces errors due to random connection failures --> 
      <lifetimelimit>57600</lifetimelimit> <!-- 16 hours of lifetime for cache record --> 
      <compress_data>0</compress_data>  <!-- DISABLE compression for EE FPC since it already uses compression --> 
     </backend_options> 
    </full_page_cache> 
</global> 
1

Я не делаю много "Dev-OPS" типа материала,

Предупреждение: session_module_name(): Не удается найти по имени PHP модуль сеанса (Redis)

- ошибка PHP, а не ошибка Magento. Есть (насколько мне известно) нет redis бэкэнд-модуль памяти, который поставляется с PHP.

Пер с GitHub для Cm_RedisSession модуля, связанного в Magento Wiki Setup странице, вы не должны установить узел

`<session_save>` 

в local.xml. Вместо этого

Измените конфигурацию global/session_save на «db» в приложении/etc/local.xml. Значение «db» является обработчиком MySQL, но Cm_RedisSession переопределяет его, чтобы избежать изменения файлов ядра.

с конфигурацией, которая выглядит примерно так

<session_save>db</session_save> 
<redis_session>      <!-- All options seen here are the defaults --> 
    <host>127.0.0.1</host>   <!-- Specify an absolute path if using a unix socket --> 
    <port>6379</port> 
    <password></password>    <!-- Specify if your Redis server requires authentication --> 
    <timeout>2.5</timeout>   
    <!-- ... more at https://github.com/colinmollenhour/Cm_RedisSession/blob/master/README.md --> 
+0

Спасибо за совет Алана, при настройке сеанса, как это экономит в БД и не касается моего экземпляра Redis, сделали они порт над Cm_RedisSession а также бэкэнд?При использовании 'session_save' в качестве' files' и 'cache' базового класса как' Mage_Cache_Backend_Redis' я получаю ту же проблему, причудливую. – input

+0

@input Я не смотрел слишком глубоко на это, но чтение документации Cm_RedisSession заставило его звучать так, как это расширение изменяет конфигурацию во время выполнения с db на другое. –

 Смежные вопросы

  • Нет связанных вопросов^_^