在我的 Freebsd 服务器上,我安装了带有 php-fpm 的 Apache,但是 phpinfo() 报告服务器正在使用 CGI/FastCGI 而不是 FPM/FastCGI。
我可以看到 php-fpm 的几个子进程,但是它们没有任何活动:
73819 - IW 0:00.00 php-fpm: pool www (php-fpm)
73820 - IW 0:00.00 php-fpm: pool www (php-fpm)
73821 - IW 0:00.00 php-fpm: pool www (php-fpm)
73822 - IW 0:00.00 php-fpm: pool www (php-fpm)
73823 - IW 0:00.00 php-fpm: pool www (php-fpm)
<many more>
php-cgi 进程全部处于活动状态:
86203 - I 0:04.84 /usr/local/bin/php-cgi
86204 - I 0:00.20 /usr/local/bin/php-cgi
86232 - I 0:03.44 /usr/local/bin/php-cgi
86233 - I 0:04.85 /usr/local/bin/php-cgi
86253 - I 0:00.79 /usr/local/bin/php-cgi
<many more>
我有第二台相同的服务器,配置相同,运行良好。在第二台服务器上,phpinfo() 报告 php-fpm = active。我比较了两台服务器的 conf 和 ini 文件,但似乎找不到它。
关于在哪里查看或如何进一步调试,有什么建议吗?
答案1
禁用 mod_fcgid
启用 mod_proxy 和 mod_proxy_fcgi 以及其特定配置示例:
<FilesMatch "\.php$">
# Unix sockets require 2.4.7 or later
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch>