首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Apache+mod_FastCGI设置PHPFPM

用Apache+mod_FastCGI设置PHPFPM
EN

Stack Overflow用户
提问于 2013-04-22 05:08:14
回答 1查看 2.1K关注 0票数 2

我最近接管了一个运行PHP和Apache的WebServer。PHP目前通过Apache的mod_fastcgi使用PHPFPM。一切都运行得很好,然而,在我的研究中,为了确保理解实现的细节,我遇到了一个令人费解的配置。在Apache WebServer上,使用以下内容:

代码语言:javascript
复制
ScriptAlias /php-cgi "/usr/local/bin/php-cgi"    
AddHandler php-fastcgi .php    
Action php-fastcgi /php-cgi
FastCGIExternalServer /usr/local/bin/php-cgi -socket /tmp/php-fpm.sock -idle-timeout 60 -pass-header Authorization

现在,如前所述,上面的配置可以正常工作。但是这个配置似乎使用了两种解决方案- PHP-CGI解决方案和PHP-FPM解决方案。根据我的阅读和理解,PHP-FPM提供了PHP-CGI的替代品,而不是随之而来的东西。因此,我认为应该有以下配置:

代码语言:javascript
复制
ScriptAlias /php-cgi "/usr/local/sbin/php-fpm"    
AddHandler php-fastcgi .php    
Action php-fastcgi /php-cgi
FastCGIExternalServer /usr/local/sbin/php-fpm -socket /tmp/php-fpm.sock -idle-timeout 60 -pass-header Authorization

第二种配置(使用PHP-FPM)也可以。我没有注意到这两者之间的任何东西,但它让我担心的是,其中之一实际上是错误的。

有人介意分享他们的想法、发现,或者回答哪种配置应该到位吗?我不喜欢在我应该运行php-fpm的时候运行php-cgi的想法。

提前谢谢你,杰森

EN

回答 1

Stack Overflow用户

发布于 2013-07-17 19:38:17

您看到的参数是错误的。在这种情况下,FastCGI使用套接字与PHP-FPM通信。您将看到在PHP-FPM配置中配置了套接字。

因此,FastCGIExternalServer的第一个参数并不重要,而是第二个参数。第一个只是为了愚弄阿帕奇。

因此,处理程序发生的情况是,为php创建了一个处理程序,为该处理程序创建了一个Action,该路径是别名。完成此操作后,FastCGI可以将该路径指向套接字。

相反,在使用mod_proxy_fcgi的Apache2.4中会更好。

干杯,约瑟夫

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16136236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档