php-fpm显示脚本而不是执行它们

时间:2019-05-22 12:25:41

标签: php apache fpm

我正在使用php 7.2和fpm和apache 2.4.29在ubuntu服务器18.04上安装sympa 6.2.42(已安装官方软件包) Sympa是从源代码安装的。

我在apache下运行的虚拟主机通常应使用fpm运行fcgi脚本。

问题是我的脚本在网页上清晰显示。因此,fcgi不执行,仅显示。

日志(fpm / apache / syslog)中没有错误。 fpm / apache / sympa服务正常运行。

我已将脚本更改为简单的“ hello world”,结果相同。

这是我的虚拟主机:

<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-wrapper无法执行。

更新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 :(得分:0)

这不是返回脚本的php-fpm。 出现此现象的原因是您的配置错误。

php-fpm作为CGI网关,您需要告诉Apache发送.php文件才能执行。

在您的情况下,Apache不知道将此.php文件发送到何处并仅将页面作为文本返回。

我建议here与Apache一起正确安装php-fpm

编辑:

Sympa文档中的配置如下:

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

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