php5-fpm 完全忽略 redis ini 文件
php5-fpm ignoring redis ini file completely
我安装了 php5 带有 pecl install redis
的 pecl 扩展,将 extension=redis.so
添加到 /etc/php5/fpm/conf.d/21-redis.ini
和 /etc/php5/cli/conf.d/21-redis.ini
。然后我重新启动了 php5-fpm
和 nginx
.
现在 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
但同一个目录包含 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扩展?
这是因为php5-fpm
主进程死了,但工人没有。 service php5-fpm restart
没有更新它们。
我手动杀死了剩下的工人,然后重新启动了 php-fpm。现在一切正常了。
我安装了 php5 带有 pecl install redis
的 pecl 扩展,将 extension=redis.so
添加到 /etc/php5/fpm/conf.d/21-redis.ini
和 /etc/php5/cli/conf.d/21-redis.ini
。然后我重新启动了 php5-fpm
和 nginx
.
现在 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
但同一个目录包含 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扩展?
这是因为php5-fpm
主进程死了,但工人没有。 service php5-fpm restart
没有更新它们。
我手动杀死了剩下的工人,然后重新启动了 php-fpm。现在一切正常了。