V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
m939594960
V2EX  ›  问与答

apache2 fcgi 安装多版本 PHP ,fcgi 不生效?

  •  1
     
  •   m939594960 · 2017-06-05 13:46:11 +08:00 · 1474 次点击
    这是一个创建于 2747 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器环境:ubuntu 14.04 LTS + apache 2.4.7

    .htaccess 文件中添加

    AddHandler fcgid-script .php
    Options +ExecCGI
    FcgidWrapper /var/www/cgi-bin/php-fastcgi
    

    这个文件 /var/www/cgi-bin/php-fastcgi 的内容

    PHPRC=/etc/php56/
    export PHPRC # php.ini directory.
    export PHP_FCGI_MAX_REQUESTS=5000 # Num requests before restarting process.
    export PHP_FCGI_CHILDREN=8
    exec /usr/local/php56/bin/php-cgi # Call the regular PHP handler.
    

    /usr/local/php56/bin/php-cgi -v 的结果

    Imgur

    phpinfo 的结果

    Imgur

    版本也没切换到理想的 php5.6 而且运行的模式好像也不是 fcgi

    这是什么问题呢?

    5 条回复    2017-06-05 18:20:37 +08:00
    m939594960
        1
    m939594960  
    OP
       2017-06-05 14:36:32 +08:00
    大神们快来帮忙看看啊
    stywell
        2
    stywell  
       2017-06-05 17:04:24 +08:00   ❤️ 1
    1.apache 集成 php 一般采用 apche 模块方式, 也就是在 httpd.conf 里面有一个 php 的 apche 模块! 所以首先确认已经去掉 php 模块, 并且安装正确编译的 fast-cgi 模块及其主配置!

    2.虚拟主机配置段内的 AllowOverride 是设置 .htaccess 文件中的那些内容可以覆盖主配置的! 所以请安装官方文档配置该字段

    3.检查.htaccess 内配置的正确性


    4.以上, 不确定能解决问题, 但你可以试试... 我也是半截瓮...
    m939594960
        3
    m939594960  
    OP
       2017-06-05 17:09:58 +08:00
    @stywell #2 2~3 点都进行确认过了,应该是没问题的。第一点这块我想让原来的老程序走 php 的 apache 模块,新的程序(某个虚拟主机)走 fast-cgi 这种模式是可行的么?还是我当初一开始的思路就有问题
    stywell
        4
    stywell  
       2017-06-05 18:11:59 +08:00
    @m939594960
    我觉得你还是, 用同一种方式比较好, 别 模块方式 和 fastCGI 方式 混用了, 更难处理!
    刚才没详细看你的配置, 你的配置字段有些不对(如:FcgidWrapper)! 请参阅官方文章! 注意配置字段生效的上下文!

    http://httpd.apache.org/docs/2.4/zh-cn/mod/core.html#allowoverride
    http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html

    还有, 不建议把 fast-cgi 这么重要的配置放在.htaccess 里, 太不安全! 你可以放在虚拟主机的配置段! 然后备份 apache 的 conf 的!
    m939594960
        5
    m939594960  
    OP
       2017-06-05 18:20:37 +08:00
    @stywell #4 放在.htaccess 只是为了方便调试,最后会调整到配置文件中,我看了下 FcgidWrapper 没发现有问题啊,我这段就是在这个手册上复制的
    <Location /phpapp/> </Location> 我放在这里面也不行啊~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   877 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:48 · PVG 04:48 · LAX 12:48 · JFK 15:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.