V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Jaeger
V2EX  ›  PHP

安装 php 的 redis 扩展问题,求指教

  •  
  •   Jaeger · 2015-08-24 23:05:40 +08:00 · 3590 次点击
    这是一个创建于 3378 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ubuntu14 下 Tengine + php-fpm 环境,现我想要安装 php 的 redis 扩展,通过 apt-get install php5-redis 命令安装 redis 扩展,安装完成重启后,通过 php -m 查看可以看到 redis 扩展,但在网页中通过 phpinfo ()查看,却看不到 redis 扩展,请问该如何解决,谢谢!
    16 条回复    2016-06-08 14:48:11 +08:00
    printempw
        1
    printempw  
       2015-08-25 06:46:28 +08:00
    试试编译安装?
    Kokororin
        2
    Kokororin  
       2015-08-25 08:58:48 +08:00
    试试一键包?
    teaman
        3
    teaman  
       2015-08-25 09:14:02 +08:00
    配置文件里有做相应修改吗?
    LaughingMeMe
        4
    LaughingMeMe  
       2015-08-25 09:27:10 +08:00
    应该是配置文件没有修改对,当初装的时候我也遇到过
    Jaeger
        5
    Jaeger  
    OP
       2015-08-25 09:36:20 +08:00
    @teaman 在命令行运行 php --ini ,可以看到
    Configuration File (php.ini ) Path: /etc/php5/cli
    Loaded Configuration File: /etc/php5/cli/php.ini
    Scan for additional .ini files in: /etc/php5/cli/conf.d
    Additional .ini files parsed: /etc/php5/cli/conf.d/05-opcache.ini,
    /etc/php5/cli/conf.d/10-pdo.ini,
    /etc/php5/cli/conf.d/20-json.ini,
    /etc/php5/cli/conf.d/20-readline.ini,
    /etc/php5/cli/conf.d/20-redis.ini

    可以看到已经加载了 redis 配置,并且运行 php -m 也可以看到 redis 模块。
    windygoose
        6
    windygoose  
       2015-08-25 09:40:07 +08:00
    看看两个是不是用的同一个 php
    Jaeger
        7
    Jaeger  
    OP
       2015-08-25 09:40:09 +08:00
    @printempw 通过 apt-get install php5-redis 以及 pecl install redis 以及编译安装都试过,但貌似都智能通过 php -m 可以看到 redis 模块 ,在命令行下可以使用 php redis ,但在浏览器里面使用 phpinfo ()却看不到 redis 模块。
    Jaeger
        8
    Jaeger  
    OP
       2015-08-25 09:47:21 +08:00
    @windygoose 在 phpinfo ()中可以看到 Loaded Configuration File /etc/php.ini ,我在 /etc/php.ini 中也加入了 extension=redis.so 这句话,重启后,查看 phpinfo ()依旧没有看到 redis 模块。
    Blask
        9
    Blask  
       2015-08-25 09:47:29 +08:00
    重启下 php-fpm
    Blask
        10
    Blask  
       2015-08-25 09:50:07 +08:00
    收回上面的话, 应该不是一个 php 的可能性大点, 看下 phpinfo 里加载的 php.ini 是不是你配置的那个
    timsims
        11
    timsims  
       2015-08-25 10:23:06 +08:00
    因为
    php-fpm 是调用 /etc/php5/fpm/conf.d/

    命令行是调用 /etc/php5/cli/conf.d/
    timsims
        12
    timsims  
       2015-08-25 10:27:49 +08:00
    php-fpm 调用的 php.ini 是 /etc/php5/fpm/php.ini

    通过 apt-get install 的 php 扩展后,会在 /etc/php5/mods-available/ 下生成对应的 xxx.ini (譬如你这里就是 redis.ini )

    LZ 只要进 /etc/php5/fpm/conf.d/ 创建软链 ln -s ../../mods-available/redis.ini redis.ini ,然后重启 php-fpm 即可
    realpg
        13
    realpg  
       2015-08-25 12:15:11 +08:00
    @Jaeger cli 看到没 你这个是 CLI 的配置 FPM 的配置在 FPM 目录下
    mingyun
        14
    mingyun  
       2015-08-30 16:08:26 +08:00
    @timsims
    lbp0200
        15
    lbp0200  
       2015-09-06 16:09:25 +08:00
    sudo php5enmod redis
    Jaeger
        16
    Jaeger  
    OP
       2016-06-08 14:48:11 +08:00
    最后解决方法,手动编译,指定 php-config(--with-php-config=/usr/local/php/bin/php-config),搞定。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1414 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 17:24 · PVG 01:24 · LAX 09:24 · JFK 12:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.