Heim >Backend-Entwicklung >PHP-Tutorial >PHP-FPM kann keine .sock-Datei generieren

PHP-FPM kann keine .sock-Datei generieren

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-09-15 11:30:563279Durchsuche

Installieren Sie PHP 5.6 mit yum auf Centos7

<code>vim /etc/php-fpm.d/www.conf
</code>

Ändern

<code>;listen = 127.0.0.1:9000
listen=/dev/shm/php-fcgi.sock</code>

php-fcgi.sockDatei

erstellen
<code>touch listen=/dev/shm/php-fcgi.sock
chmod 777 /dev/shm/php-fcgi.sock</code>

php-fpm neu starten

<code>systemctl restart php-fpm</code>

Aber /dev/shm/php-fcgi.sock ist immer noch eine normale Datei, keine Socket-Datei, und es liegt kein Fehler vor.

Antwortinhalt:

Installieren Sie PHP 5.6 mit yum auf Centos7

<code>vim /etc/php-fpm.d/www.conf
</code>

Ändern

<code>;listen = 127.0.0.1:9000
listen=/dev/shm/php-fcgi.sock</code>

php-fcgi.sockDatei

erstellen
<code>touch listen=/dev/shm/php-fcgi.sock
chmod 777 /dev/shm/php-fcgi.sock</code>

php-fpm neu starten

<code>systemctl restart php-fpm</code>

Aber /dev/shm/php-fcgi.sock ist immer noch eine normale Datei, keine Socket-Datei, und es liegt kein Fehler vor.

Löschen Sie gewöhnliche Dateien. Bei der Ausführung im Unix-Socket-Modus wird die Sock-Datei von php-fpm erstellt

Steht es nicht in der Konfigurationsdatei? php-fpm generiert diese Socket-Datei selbst und wird vom Master-Prozess referenziert

<code>; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all IPv4 addresses on a
;                            specific port;
;   '[::]:port'            - to listen on a TCP socket to all addresses
;                            (IPv6 and IPv4-mapped) on a specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
</code>

Ich habe das Gefühl, dass die Konfiguration falsch geschrieben ist.

php-fpm.conf

<code>listen = /dev/shm/php-fcgi.sock
listen.owner = www
listen.group = www
listen.mode = 0660</code>

nginx.conf

<code>fastcgi_pass unix:/dev/shm/php-fcgi.sock;</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:tp-PfadproblemNächster Artikel:tp-Pfadproblem