php5-fpm 完全忽略 redis ini 文件

标签 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

但是同一个目录包含 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 主进程死了,但 worker 没有。 service php5-fpm restart 没有更新它们。

我手动杀死了剩余的 worker 并再次重新启动了 php-fpm。现在一切正常。

关于php5-fpm 完全忽略 redis ini 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31960651/

相关文章:

php - 我应该将 1 个数据库用于发布、配置和身份验证还是将其拆分?

php - 拒绝访问 PHP 文件 (Nginx)

nginx - 为什么 rsyslog 用 #011 替换选项卡?

php - 如何使用 PHP 设置 HTML 选择框的选定值

php - 检查 Laravel 5.5 模型事件中的属性是否已更改

php - Laravel 5.4 - 注册后自动登录

python - OpenCV 安装停留在 [ 99%] Built target opencv_perf_stitching 没有错误

ubuntu - 设置 VSFTPD 用户对 apache2 的 html 目录具有写入权限

php - 使用 PHP-FPM 的 nginx 根文件夹的 Linux 权限/所有者

nginx - 怎么配置nginx,让部分子域只能访问js/css文件?