Задать вопрос
@AlexWinner

PHP-FPM: почему unix-сокет присутствует в netstat, но не на файловой системе?

Добрый день.

Случилось такое:
В конфиге пула php-fpm настроено слушать сокет:
listen = /tmp/www.socket
listen.owner = nginx
listen.group = nginx
listen.mode = 0660


PHP перезапускается, ошибок никаких не выдаёт, однако сокет не появляется:
# ls -la /tmp/www.socket
ls: cannot access /tmp/www.socket: No such file or directory


При этом в выводе netstat я его вижу:
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 172275182 16589/php-fpm: mast /tmp/www.socket


Пробовал поискать так, ничего не находит:
# sudo debugfs -R 'ncheck 172275182' /dev/sda2 2>/dev/null
Inode Pathname


Centos 7, PHP 5.6.

Подскажите, пожалуйста, куда копать?

UPD
Ответ нашёлся в конфиге /usr/lib/systemd/system/php-fpm.service , а именно в опции:
PrivateTmp=true

Systemd при ней создаёт отдельный /tmp для сервиса.
  • Вопрос задан
  • 520 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@nirvimel
Возможно php-fpm chroot-нутый.
Ответ написан
Комментировать
@yalex1442
от root файл виден?
Проблема вероятно с правами доступа
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект