我正在从 Ubuntu Server 16.04 升级到 18.04,同时从 PHP 5.6 升级到 PHP 7。
我在其中/etc/memcached.conf
添加了:
-s /tmp/memcached.sock
-a 666
当我重新启动服务时,我看到:
srw-rw-rw- 1 memcache memcache 0 Nov 13 03:44 /tmp/systemd-private-7fc3b73707084a93bcc6abd22001eb7e-memcached.service-oIF206/tmp/memcached.sock=
如何配置 systemd 来了解 UNIX 套接字在哪里?
答案1
systemd 有PrivateTmp=true
memcached.service
一种方法是重写PrivateTmp
,特别是对于memcached.service
,即
mkdir -p /etc/systemd/system/memcached.service.d
echo "[Service]" > /etc/systemd/system/memcached.service.d/override.conf
echo "PrivateTmp=false" >> /etc/systemd/system/memcached.service.d/override.conf
systemctl daemon-reload
systemctl restart memcached
这会将 memcached.service 改回 using /tmp
,而不是/tmp/systemd-private-...
假设您想使用 memcached 进行会话处理;一旦您验证了该会话/tmp/memcahced.sock
具有正确的权限,就可以在/etc/php.ini
或/etc/php/conf.d/memcached.ini
更改会话支持。
[Session]
extension=memcached.so
session.save_handler="memcached"
session.save_path="/tmp/memcached.sock"
如果存在,注释掉session.save_handler=files
。