php5-fpm完全忽略redis ini文件

时间:2015-08-12 09:05:58

标签: php ubuntu nginx redis

我已经使用pecl install redis安装了php5 pecl扩展程序,并将extension=redis.so添加到/etc/php5/fpm/conf.d/21-redis.ini/etc/php5/cli/conf.d/21-redis.ini。然后我重新启动了php5-fpmnginx

现在php -m | grep redis向我显示redis已安装正常用于cli,但phpinfo(使用nginx)显示没有redis且位于Additional .ini files parsed列表下:

  

/etc/php5/fpm/conf.d/00-ioncube.ini,   /etc/php5/fpm/conf.d/05-opcache.ini,   /etc/php5/fpm/conf.d/10-mysqlnd.ini,/etc/php5/fpm/conf.d/10-pdo.ini,   /etc/php5/fpm/conf.d/20-curl.ini,/etc/php5/fpm/conf.d/20-json.ini,   /etc/php5/fpm/conf.d/20-mysql.ini,/etc/php5/fpm/conf.d/20-mysqli.ini,   /etc/php5/fpm/conf.d/20-pdo_mysql.ini,   /etc/php5/fpm/conf.d/20-readline.ini

但同样的dir包含21-redis.ini,由于某种原因被忽略:

# ls -1 /etc/php5/fpm/conf.d/
00-ioncube.ini
05-opcache.ini
10-mysqlnd.ini
10-pdo.ini
20-curl.ini
20-json.ini
20-mysql.ini
20-mysqli.ini
20-pdo_mysql.ini
20-readline.ini
21-redis.ini

该文件的内容符合预期:

# cat /etc/php5/fpm/conf.d/21-redis.ini 
extension=redis.so

它具有世界可读性。

/var/log/php5-fpm.log没有错误,/var/log/syslog也没有。

为什么php-fpm没有加载redis扩展名?

1 个答案:

答案 0 :(得分:5)

这是因为php5-fpm主程序死了,但工人却没有。 service php5-fpm restart没有更新它们。

我手动杀死剩余的工作人员并再次重启php-fpm。现在一切正常。