it-swarm.com.ru

Где находится php7.0-fpm.sock

У меня простой проект со структурой каталогов

Я настраиваю конфигурацию nginx для моего сайта drupal, и для fastcgi_pass я использую 127.0.0.1:9000, но я хочу использовать сокет unix, как предложено в этом conf:

 # PHP 7 socket location.
   fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

но я не могу найти php/php7.0-fpm.sock;

У меня есть следующий путь в моем дистрибутиве Centos

/var/run/php-fpm/php-fpm.pid
14
hidar

Проверьте php-fpm config, где сокет будет создан с:

$ cat /etc/php/7.0/fpm/pool.d/www.conf

Ищите listen, например:

listen = /run/php/php7.0-fpm.sock

php-fpm создает файл сокета после того, как вы запустили процесс. 

Sudo service php7.0-fpm stop
Sudo service php7.0-fpm start

Проверьте каталог, если был создан файл сокета:

$ cd /run/php && ls -la

17
BenRoob

Сначала проверьте, работает ли php-fpm в вашей системе, для этого вы можете использовать pgrep, например:

# pgrep -fa php-fpm
5666 php-fpm: master process (/etc/php-fpm.conf)
5667 php-fpm: pool www
5668 php-fpm: pool www
5669 php-fpm: pool www
5670 php-fpm: pool www
5671 php-fpm: pool www

В этом случае он показывает, что работает и использует файл конфигурации /etc/php-fpm.conf. Прежде чем проверять файл конфигурации и пытаться проверить директиву listen =, вы можете быстро просмотреть /proc/net/unix например:

# grep php /proc/net/unix

Который может вернуть что-то вроде:

ffff8800bfb2f400: 00000002 00000000 00010000 0001 01 28561 /tmp/php-fpm.sock

В этом случае он показывает, что путь к сокету php-fpm находится в /tmp/php-fpm.sock, который можно проверить, проверив conf в /etc/php-fpm.d/www.conf, в этом случае: listen= /tmp/php-fpm.sock

Если вы не получили никакого результата и php-fpm запущен и работает, проверив конфигурацию, вы можете обнаружить, что она использует значения по умолчанию, перечислив на сокете TCP:

listen = 127.0.0.1:9000

Что-то, что вы можете изменить для прослушивания сокетов Unix, например, предложенный вами conf:

listen = /var/run/php/php7.0-fpm.sock

В некоторых дистрибутивах Linux это обычно используется:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

После изменения конфигурации не забудьте перезапустить сервисы systemctl restart php-fpm. Чтобы проверить, что сокет был создан, вы можете сделать:

$ file /var/run/php/php7.0-fpm.sock

Если сокет существует, если должен распечатать что-то вроде этого:

/var/run/php/php7.0-fpm.sock: socket
7
nbari

вы можете увидеть это, запустив 

$ ss --unix |grep 'php' 
1
Breign

Вероятно, что более старая версия libpcre3 установлена ​​и удовлетворяет зависимости в пакете php7.0, но только более новый пакет библиотеки предоставляет pcre_jit_stack_free.

Если это так, выполните apt-get install libpcre3, и все готово.

Ссылка: https://github.com/oerdnj/deb.sury.org/issues/372

Я надеюсь, это поможет вам.

0
rahul singh Chauhan