Arch linux PHP храним сессии в memcached

Для лучшей производительности и масштабируемости, а так же избежания блокировок в качестве обработчика сессии лучше установить memcached.

Внимание!
Существует два PHP расширения для работы с сервером memcached:

  • php-memcached
  • php-memcache

В данной статье речь именно о php-memcached

Ставим сам memcached:

# pacman -S memcached

Включаем systemd-юнит в автозагрузку:

# systemctl enable memcached

И стартуем его

# systemctl start memcached

Проверить что memcache сервер "повесился" на порт и слушает можно либо очевидным способом:

# systemctl status memcached
● memcached.service - Memcached Daemon
   Loaded: loaded (/usr/.../memcached.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-12-03 16:22:56 MSK; 4 days ago
 Main PID: 305 (memcached)
    Tasks: 10 (limit: 4915)
   Memory: 1.9M
   CGroup: /system.slice/memcached.service
           └─305 /usr/bin/memcached -l 127.0.0.1 -o modern

Dec 03 16:22:56 localhost systemd[1]: Started Memcached Daemon.

Либо таким

# ss -ltp | grep memcached
LISTEN 0 128 127.0.0.1:memcache 0.0.0.0:* users:(("memcached",pid=305,fd=26))

Установим PHP расширение memcached

# pacman -S php-memcached

Далее в файле настроек расширения необходимо как минимум включить это самое расширение в файле:

# vim /etc/php/conf.d/memcached.ini

расскомментируем строку

extension=memcached.so

далее в файле настроек пыха нужно указать ему что теперь сессии обрабатывает memcached:

# vim /etc/php/php.ini

ищем строку:

session.save_handler = files

и меняем её на

session.save_handler = 'memcached'

Так же необходимо указать директиву:

session.save_path = 'localhost:112211'

По теме: PHP Поддержка сессий