php-fpm покажет скрипт вместо того, чтобы его выполнить - PullRequest
0 голосов
/ 22 мая 2019

Я устанавливаю sympa 6.2.42 на сервер ubuntu 18.04 с php 7.2 и fpm и apache 2.4.29 (устанавливается с официальными пакетами). Sympa устанавливается из исходного кода.

Мой виртуальный хост под apache должен обычно запускать скрипт fcgi с fpm.

Проблема в том, что мой скрипт отображается в чистом виде на моей веб-странице.Поэтому fcgi не выполняется, просто отображается.

Нет ошибок в журналах (fpm / apache / syslog).Службы fpm / apache / sympa работают нормально.

Я изменил свой сценарий на простой «привет мир», результат тот же.

Это мой виртуальный хост:

<VirtualHost *:80>
    Servername    mycomputer.mydomain.com
    Serveradmin   step@mydomain.com

    Documentroot /var/www/sympa.mydomain.com

    <Location /sympa>
    SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://"
        Options +ExecCGI
        Require all granted
   </Location>

    <Location /static-sympa>
        Require all granted
    </Location>

    alias /static-sympa /appli/sympa/static-content
    ScriptAlias /sympa /appli/sympa/lib/sympa/cgi/wwsympa-wrapper.fcgi

    RewriteEngine on
    RewriteRule ^/$ /sympa [R,L]
</VirtualHost>

Вывод является содержимым wwsympa-wrapper.fcgi.wwsympa-обертка не выполняется.

Обновление 1

Мой журнал apache:

[Thu May 23 08:41:53.760226 2019] [authz_core:debug] [pid 17536:tid 139860299998976] mod_authz_core.c(809): [client XX.XX.XX.X:53422] AH01626: authorization result of Require all granted: granted
[Thu May 23 08:41:53.760287 2019] [authz_core:debug] [pid 17536:tid 139860299998976] mod_authz_core.c(809): [client XX.XX.XX.X:53422] AH01626: authorization result of <RequireAny>: granted
[Thu May 23 08:41:53.760309 2019] [proxy:debug] [pid 17536:tid 139860299998976] mod_proxy.c(1228): [client XX.XX.XX.X:53422] AH01143: Running scheme unix handler (attempt 0)
[Thu May 23 08:41:53.760323 2019] [proxy_fcgi:debug] [pid 17536:tid 139860299998976] mod_proxy_fcgi.c(995): [client XX.XX.XX.X:53422] AH01076: url: fcgi:///appli/sympa/lib/sympa/cgi/wwsympa-wrapper.fcgi proxyname: (null) proxyport: 0
[Thu May 23 08:41:53.760331 2019] [proxy_fcgi:debug] [pid 17536:tid 139860299998976] mod_proxy_fcgi.c(1002): [client XX.XX.XX.X:53422] AH01078: serving URL fcgi:///appli/sympa/lib/sympa/cgi/wwsympa-wrapper.fcgi
[Thu May 23 08:41:53.760336 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2162): AH00942: FCGI: has acquired connection for (*)
[Thu May 23 08:41:53.760345 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2215): [client XX.XX.XX.X:53422] AH00944: connecting fcgi:///appli/sympa/lib/sympa/cgi/wwsympa-wrapper.fcgi to :8000
[Thu May 23 08:41:53.760349 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2252): [client XX.XX.XX.X:53422] AH02545: fcgi: has determined UDS as /var/run/php/php7.2-fpm.sock
[Thu May 23 08:41:53.760398 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2424): [client XX.XX.XX.X:53422] AH00947: connected /appli/sympa/lib/sympa/cgi/wwsympa-wrapper.fcgi to httpd-UDS:0
[Thu May 23 08:41:53.760432 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2795): AH02823: FCGI: connection established with Unix domain socket /var/run/php/php7.2-fpm.sock (*)
[Thu May 23 08:41:53.761132 2019] [proxy:debug] [pid 17536:tid 139860299998976] proxy_util.c(2177): AH00943: FCGI: has released connection for (*)
[Thu May 23 08:41:53.761265 2019] [deflate:debug] [pid 17536:tid 139860299998976] mod_deflate.c(853): [client XX.XX.XX.X:53422] AH01384: Zlib: Compressed 10632 to 3341 : URL /sympa

1 Ответ

0 голосов
/ 22 мая 2019

Это не php-fpm, который возвращает скрипт. Такое поведение генерируется, потому что ваша конфигурация неверна.

php-fpm работает как шлюз CGI, и вам нужно указать Apache, чтобы он отправлял в него файл .php для выполнения.

В вашем случае Apache не знает, куда отправить этот файл .php и просто возвращает страницу в виде текста.

Я предлагаю перейти здесь для правильной установки php-fpm с Apache

РЕДАКТИРОВАТЬ:

Конфигурация в документации Sympa выглядит следующим образом:

<Location /sympa>
    SetHandler "proxy:unix:$PIDDIR/wwsympa.socket|fcgi://"
    Require all granted
</Location>

<Location /static-sympa>
    Require all granted
</Location>
...