Ubuntu
如何配置 systemd 以便 PHP 可以使用 memcached unix socket?
我正在從 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 套接字在哪裡?
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
。