hheedat
V2EX  ›  PHP

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

  •  
  •   hheedat · Aug 18, 2017 · 3609 views
    This topic created in 3193 days ago, the information mentioned may be changed or developed.

    今天遇到个问题,我们 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 还能正常运行...

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

    8 replies    2017-08-21 19:01:34 +08:00
    hheedat
        1
    hheedat  
    OP
       Aug 18, 2017
    https://www.v2ex.com/t/383875 正好看到这个问题,如果说 php-fpm 内置了解释器的话,那其实也用不着 php-cgi 了?
    torbrowserbridge
        2
    torbrowserbridge  
       Aug 18, 2017
    不需要 php-cgi
    torbrowserbridge
        3
    torbrowserbridge  
       Aug 18, 2017
    FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation
    0ZXYDDu796nVCFxq
        4
    0ZXYDDu796nVCFxq  
       Aug 18, 2017 via iPhone   ❤️ 1
    编译的时候就指定了库的目录
    试下以下命令
    readelf php-fpm | grep -i path
    ldd php-fpm
    troycheng
        5
    troycheng  
       Aug 18, 2017   ❤️ 1
    php-fpm 中 php_fpm_CONF 指定了读取 fpm 配置的路径,你看一下 php-fpm 和 php-fpm.conf 的配置就可以明白了,你用 php-fpm 启动的都是指定了路径的,不存在从 path 中寻找 php 版本的问题。
    php_fpm_BIN=****
    php_fpm_CONF=****
    hheedat
        6
    hheedat  
    OP
       Aug 18, 2017
    @troycheng 配置里没有这个啊
    0ZXYDDu796nVCFxq
        7
    0ZXYDDu796nVCFxq  
       Aug 18, 2017 via iPhone
    对了,最准确就是 phpinfo,应该包含了各种各样的环境和配置参数,编译参数
    julyclyde
        8
    julyclyde  
       Aug 21, 2017
    fpm 是独立执行的,不存在所谓“对应的 php-cgi ”这一说
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2955 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:01 · PVG 14:01 · LAX 23:01 · JFK 02:01
    ♥ Do have faith in what you're doing.