Я пытаюсь настроить PHP7.1-FPM на MacOS Mojave! Я следовал этому руководству и прошел весь путь до конца, когда он перестал работать.

Во время поиска в Google я решил попробовать вместо этого использовать Unix-сокеты, поэтому некоторые из моих настроек немного отличаются от руководства, которому я пытался следовать.

У меня установлены мои службы:

$ sudo brew services list
Name    Status  User Plist
httpd   started root /Library/LaunchDaemons/homebrew.mxcl.httpd.plist
php@7.1 started root /Library/LaunchDaemons/homebrew.mxcl.php@7.1.plist

Я настроил свой httpd.conf:

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
</IfModule>

<VirtualHost *:*>
   ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://127.0.0.1:9000/usr/local/var/www/$1"
</VirtualHost>
<FilesMatch \.php$>
    SetHandler "proxy:unix:/usr/var/run/php7.1-fpm.sock|fcgi://localhost/"
</FilesMatch>

В моем /etc/php-fpm.d/www.conf у меня есть

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

Если я проверю процессы, то все будет хорошо:

$ ps aux | grep php-fpm                        10.2s  Thu 17 Jan 14:15:40 2019
finnlesueur       3718   0.0  0.0  4268052    692 s001  S+   12:28pm   0:00.01 tail -f /usr/local/var/log/php-fpm.log
finnlesueur      30588   0.0  0.0  4268060    812 s000  S+    2:15pm   0:00.00 grep --color=auto php-fpm
_www             29371   0.0  0.0  4520960   1180   ??  S     2:08pm   0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize
_www             29370   0.0  0.0  4520960   1080   ??  S     2:08pm   0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize
root             29366   0.0  0.1  4518912  30808   ??  Ss    2:08pm   0:00.08 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize

$ ps aux | grep httpd
finnlesueur      29346   0.0  0.0  4345112   1832   ??  S     2:08pm   0:00.00 /usr/local/opt/httpd/bin/httpd -D FOREGROUND
root             29332   0.0  0.0  4309296   2720   ??  Ss    2:08pm   0:00.09 /usr/local/opt/httpd/bin/httpd -D FOREGROUND
finnlesueur      30727   0.0  0.0  4268060    812 s000  S+    2:16pm   0:00.00 grep --color=auto httpd
finnlesueur      29350   0.0  0.0  4328728   1172   ??  S     2:08pm   0:00.00 /usr/local/opt/httpd/bin/httpd -D FOREGROUND
finnlesueur      29349   0.0  0.0  4345112   1180   ??  S     2:08pm   0:00.00 /usr/local/opt/httpd/bin/httpd -D FOREGROUND
finnlesueur      29348   0.0  0.0  4353304   1184   ??  S     2:08pm   0:00.00 /usr/local/opt/httpd/bin/httpd -D FOREGROUND
finnlesueur      29347   0.0  0.0  4335896   1192   ??  S     2:08pm   0:00.00 /usr/local/opt/httpd/bin/httpd -D FOREGROUND

Мой DocumentRoot имеет index.php где он просто phpinfo(); и это тоже выглядит нормально, но когда я загружаю localhost, я вижу 503 Service Unavailable и в моем журнале ошибок HTTP я получаю:

[Thu Jan 17 14:18:57.654807 2019] [authz_core:debug] [pid 29347] mod_authz_core.c(817): [client ::1:57866] AH01626: authorization result of Require all granted: granted
[Thu Jan 17 14:18:57.654991 2019] [authz_core:debug] [pid 29347] mod_authz_core.c(817): [client ::1:57866] AH01626: authorization result of <RequireAny>: granted
[Thu Jan 17 14:18:57.655083 2019] [authz_core:debug] [pid 29347] mod_authz_core.c(845): [client ::1:57866] AH01628: authorization result: granted (no directives)
[Thu Jan 17 14:18:57.655119 2019] [proxy_fcgi:debug] [pid 29347] mod_proxy_fcgi.c(108): [client ::1:57866] AH01060: set r->filename to proxy:fcgi://127.0.0.1:9000/usr/local/var/www/index.php
[Thu Jan 17 14:18:57.655162 2019] [proxy:debug] [pid 29347] mod_proxy.c(1246): [client ::1:57866] AH01143: Running scheme fcgi handler (attempt 0)
[Thu Jan 17 14:18:57.655171 2019] [proxy_fcgi:debug] [pid 29347] mod_proxy_fcgi.c(1019): [client ::1:57866] AH01076: url: fcgi://127.0.0.1:9000/usr/local/var/www/index.php proxyname: (null) proxyport: 0
[Thu Jan 17 14:18:57.655183 2019] [proxy_fcgi:debug] [pid 29347] mod_proxy_fcgi.c(1028): [client ::1:57866] AH01078: serving URL fcgi://127.0.0.1:9000/usr/local/var/www/index.php
[Thu Jan 17 14:18:57.655191 2019] [proxy:debug] [pid 29347] proxy_util.c(2313): AH00942: FCGI: has acquired connection for (*)
[Thu Jan 17 14:18:57.655199 2019] [proxy:debug] [pid 29347] proxy_util.c(2367): [client ::1:57866] AH00944: connecting fcgi://127.0.0.1:9000/usr/local/var/www/index.php to 127.0.0.1:9000
[Thu Jan 17 14:18:57.655219 2019] [proxy:debug] [pid 29347] proxy_util.c(2576): [client ::1:57866] AH00947: connected /usr/local/var/www/index.php to 127.0.0.1:9000
[Thu Jan 17 14:18:57.655346 2019] [proxy:error] [pid 29347] (61)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9000 (*) failed
[Thu Jan 17 14:18:57.655367 2019] [proxy_fcgi:error] [pid 29347] [client ::1:57866] AH01079: failed to make connection to backend: 127.0.0.1
[Thu Jan 17 14:18:57.655375 2019] [proxy:debug] [pid 29347] proxy_util.c(2328): AH00943: FCGI: has released connection for (*)

И ничто не попадает в мой журнал PHP-FPM, я думаю, потому что соединение не было установлено.

Я часами гуглял, но не могу найти ничего, что работает. Любая помощь будет оценена!

Дайте мне знать, если есть дополнительная информация, которую я могу предоставить!

Обновление 1

$ sudo lsof -U | grep php
php-fpm   29366            root    5u  unix 0xf497a489280ca0c1      0t0      ->0xf497a489280c91e9
php-fpm   29366            root    6u  unix 0xf497a489280c91e9      0t0      ->0xf497a489280ca0c1
php-fpm   29366            root    7u  unix 0xf497a489280c9a81      0t0      /var/run/php/php7.1-fpm.sock
php-fpm   29370            _www    8u  unix 0xf497a489280c9a81      0t0      /var/run/php/php7.1-fpm.sock
php-fpm   29371            _www    8u  unix 0xf497a489280c9a81      0t0      /var/run/php/php7.1-fpm.sock

1 ответ1

1

В конце концов, это была простая ошибка.

Я редактировал файл www.conf адресу /etc/php-fpm.d/www.conf который, как оказалось, находится там при установке MacOS по умолчанию.

Файл www.conf для PHP7.1-FPM, который я установил с Brew, был по адресу:/usr/local/etc/php/7.1/php-fpm.d/www.conf .

Как только я изменил директиву listen в /usr/local/etc/php/7.1/php-fpm.d/www.conf я отправился на гонки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .