如何使用memcached和unix套接字来存储php会话

我用systemdnginx和php用php-fpm运行Arch linux。 我想(和失败)configurationmemcached存储会话使用unix套接字。 我有memcached安装和活动,但是,我无法禁用networking。 我将下面一行添加到/etc/conf.d/memcached

MEMCACHED_ARGS="-s unix:///tmp/memcached.sock -a 666" 

我也试过:

 MEMCACHED_ARGS="-s /tmp/memcached.sock -a 666" MEMCACHED_ARGS="-s unix:/tmp/memcached.sock -a 666" 

当我重新启动memcached我总是得到:

 memcached.service - Memcached Daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled) Active: active (running) since Sat 2013-01-19 17:41:15 PST; 5min ago Main PID: 773 (memcached) CGroup: name=systemd:/system/memcached.service └─773 /usr/bin/memcached -l 127.0.0.1 

当我运行PHP脚本会话PHP错误日志显示(不奇怪):

 [19-Jan-2013 16:46:45 America/Los_Angeles] PHP Warning: Unknown: Failed to write session data (memcached). Please verify that the current setting of session.save_path is correct (unix:/tmp/memcached.sock) in Unknown on line 0 

我也安装了php-memcached软件包,但是我不知道它是怎么做的或者怎么去做的。 我在/etc/php/conf.d/memcached.ini中取消了注释:

 extension=memcached.so 

但是这并没有改变任何东西。

任何见解或build议将不胜感激。

Memcached config.d

文件path是Memcached的unix套接字所需要的。

 MEMCACHED_ARGS="-s /tmp/memcached.sock -a 666" 

您可以通过使用unix套接字运行stats命令来确认Memcached正常运行。

 bash $> echo stats | nc -U /tmp/memcached.sock # returns list of server statistics 

configurationPHP的会话以使用Memcached

编辑php.ini/etc/php/conf.d/memcached.ini ,并添加会话支持 。

 extension=memcached.so session.save_handler="memcached" session.save_path="/tmp/memcached.sock" 

重新启动服务并validationphp日志