PHP -fpm 如何找到对应版本的 PHP -cgi ?

2017-08-18 10:06:24 +08:00
 hheedat

今天遇到个问题,我们 A 项目是 php7.1,B 项目是 php5.6;

php7.1 的项目用到了 yaconf,只支持 php7,用的是 mongodb 扩展。 php5.6 的项目还没来得及升级 mongodb 扩展,用的是 mongo 扩展,mongo 扩展不支持 php7 ;

所以开发环境安装了两套 php 环境,用绝对路径起了两个版本的 fpm,5.6 监听 9000,7.1 监听 9001,nginx 针对不同的域名做不同端口转发...做到了开发环境两个版本的 php 共存...

现在问题来了,不同版本的 fpm 是如何找到对应版本的 php-cgi 的呢?

我本来以为是通过 path,但我现在 path 设置的是 7.1 的,5.6 还能正常运行...

搜了下没找到太好的解释,特来求教

3116 次点击
所在节点    PHP
8 条回复
hheedat
2017-08-18 10:12:39 +08:00
https://www.v2ex.com/t/383875 正好看到这个问题,如果说 php-fpm 内置了解释器的话,那其实也用不着 php-cgi 了?
torbrowserbridge
2017-08-18 10:29:17 +08:00
不需要 php-cgi
torbrowserbridge
2017-08-18 10:29:43 +08:00
FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation
gstqc
2017-08-18 10:49:40 +08:00
编译的时候就指定了库的目录
试下以下命令
readelf php-fpm | grep -i path
ldd php-fpm
troycheng
2017-08-18 11:01:15 +08:00
php-fpm 中 php_fpm_CONF 指定了读取 fpm 配置的路径,你看一下 php-fpm 和 php-fpm.conf 的配置就可以明白了,你用 php-fpm 启动的都是指定了路径的,不存在从 path 中寻找 php 版本的问题。
php_fpm_BIN=****
php_fpm_CONF=****
hheedat
2017-08-18 12:46:11 +08:00
@troycheng 配置里没有这个啊
gstqc
2017-08-18 12:54:37 +08:00
对了,最准确就是 phpinfo,应该包含了各种各样的环境和配置参数,编译参数
julyclyde
2017-08-21 19:01:34 +08:00
fpm 是独立执行的,不存在所谓“对应的 php-cgi ”这一说

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX