PHP가 memcached 유닉스 소켓을 사용할 수 있도록 systemd를 구성하는 방법은 무엇입니까?

PHP가 memcached 유닉스 소켓을 사용할 수 있도록 systemd를 구성하는 방법은 무엇입니까?

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=

UNIX 소켓의 위치를 ​​알 수 있도록 systemd를 어떻게 구성합니까?

답변1

systemd에는 PrivateTmp=truememcached.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

/tmp그러면 memcached.service가 대신 사용으로 다시 변경됩니다 ./tmp/systemd-private-...

/tmp/memcahced.sock세션 처리를 위해 memcached를 사용한다고 가정해 보겠습니다. 세션 에 올바른 권한이 있는지 확인한 후에는 세션 지원을 변경 /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.

관련 정보