我用systemd,nginx和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议将不胜感激。
文件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
编辑php.ini或/etc/php/conf.d/memcached.ini ,并添加会话支持 。
extension=memcached.so session.save_handler="memcached" session.save_path="/tmp/memcached.sock"
重新启动服务并validationphp日志