Показаны сообщения с ярлыком memcache. Показать все сообщения
Показаны сообщения с ярлыком memcache. Показать все сообщения

суббота, 1 февраля 2014 г.

PHP Warning: Unknown: Failed to write session data (memcached). Please verify that the current setting of session.save_path is correct

Есть 2 php модуля: php5-memcache и php5-memcached, но они отличаются по функционалу и использованию. В частности, даже указание, что подключаем, несколько отличается, в случае memcache указывается префикс tcp://, а у memcached - нет.

session.save_handler = memcache
session.save_path="tcp://192.168.1.103:11211"

session.save_handler = memcached
session.save_path="192.168.1.103:11211"

Есть вариант через сокеты
session.save_path="/tmp/memcached.sock"

http://stackoverflow.com/questions/12112319/failed-to-write-session-data-php-and-memcached

и пример просмотра статистики
echo stats | nc -U /tmp/memcached.sock

вторник, 26 февраля 2013 г.

memcached + unix socket

Для примера - debian 6, bitrix, memcached
Для начала, apt-get install memcached php5-memcache

Теперь в /etc/memcached.conf
-s /var/run/memcached/memcached.sock
-a 0755
выставляем путь к сокету и права на него в 0755. Сам каталог /var/run/memcached/ надо создать и поставить владельцем nobody (задано в конфиге выше)

Запускаем.
/etc/init.d/memcached start

проверяем
netstat -an|grep sock
должен появиться наш сокет. При этом |grep 11211 уже ничего не покажет - похоже, мемкэш умеет или только сокеты, или только через порт.

Теперь диагностика. Можно проверить, что происходит, как через сокет, так и порт.
порт:
echo "flush_all" | nc 127.0.0.1 11211
echo "stats" | nc 127.0.0.1 11211

сокет:
echo 'stats' | nc -U /var/run/memcached/memcached.sock
Работает не везде, в дебиан 6 говорит, что не знает ключа -U

По линку ниже есть вариант через питон.

PS для битрикса вписываем в конфиг  bitrix/php_interface/dbconn.php
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");
=== или ===

define("BX_MEMCACHE_HOST", "unix:///path/to/memcached.sock");
define("BX_MEMCACHE_PORT", "0");


линки
http://community.webfaction.com/questions/7275/how-to-communicate-with-memcached-socket-via-shell