【问题标题】:phpredis extension doesn't work, unable to load 'redis.so'phpredis 扩展不起作用,无法加载“redis.so”
【发布时间】:2016-03-03 19:40:07
【问题描述】:

我用yum安装了nginx、php、php-fpm、php-pecl-redis。

除了最后一个之外,所有这些都有效。

当我运行/usr/sbin/php-fpm 时,我得到了这个:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/modules/redis.so' - /usr/lib/php/modules/redis.so:未定义符号:在线未知中的 igbinary_unserialize 0

我不知道igbnary_unserialize 是什么意思以及如何解决它。

我检查了正确路径下的redis.so 文件。我将extension=redis.so 添加到php.ini

PHP 版本:5.3.3

PhpRedis 版本:2.2.7

【问题讨论】:

  • 你能得到php_info()吗?
  • @BobvanLuijt 我可以得到phpinfo(),如果你是这个意思。但我仍然找不到该页面的 reids 信息

标签: redis php-extension phpredis


【解决方案1】:

我有同样的问题。我在 Ubuntu 16.04 LTS 上。运行sudo apt-get install php-igbinary 为我解决了这个问题。我还有其他问题,但这就是解决这个问题的原因。

【讨论】:

  • 从 php7.0 升级到 7.1 后,redis 无法为我工作。我摸不着头脑,做了 diff 论坛上所说的所有事情......终于成功了......谢谢马特!跨度>
  • 升级到 php 7.2 后,我遇到了同样的问题,为我解决了这个问题。谢谢。
  • 这应该是答案:)
  • 更新到 php7.3(从 7.0)以更新 Nextcloud (15->16) 时对我来说也是如此。 (Linux Mint Debian 版)。
  • 同时,没有 php 7.4 的版本;将安装以下附加软件包: php5.6-igbinary php7.0-igbinary php7.1-igbinary php7.2-igbinary php7.3-igbinary php8.0-igbinary
【解决方案2】:

对于像我这样将 php 从 7.0 升级到 7.4 并且无法使 php-redis 正常工作的人。这些是我在遵循上述答案后使用的步骤。

1) 移除 Redis

sudo apt purge php-redis

2) 安装 Igbinary

sudo apt-get install php-igbinary

3) 再次安装php-redis

sudo apt-get install php-redis

我做了上面的步骤,因为似乎只有 php7.0 正在识别 php-redis 安装而不是当前启用的 php7.4

如果您的问题仍未解决,我还建议您删除其他版本的 PHP。

【讨论】:

  • 直截了当的回答。
【解决方案3】:

可能是 igbinary 的问题,安装了吗? (例如:cat /etc/php.d/igbinary.ini)。

在这里你可以找到并安装igbinary

【讨论】:

  • php_info()的结果是什么?
  • php_info() 是一个正确的函数吗?插入后我得到了 500 错误。
  • 如果你在终端输入:php php_info();
  • ~O~,但是我收到了和broswer一样的信息。我要重新安装环境
【解决方案4】:

与此错误相关https://bugs.launchpad.net/ubuntu/+source/php-redis/+bug/1762935

你应该从包中删除 php-redis: apt purge php-redis ,并通过 pecl install redis 安装它

您应该在 php.ini 中添加“extension=redis.so”

并从 php 目录中的 config.d 中删除 redis:

rm /etc/php/7.2/fpm/conf.d/@20-redis.ini

rm /etc/php/7.2/cli/conf.d/@20-redis.ini

重启 php fpm 你会看到问题解决了

【讨论】:

    【解决方案5】:

    解决同样的问题:

    yum 安装的php-pecl-redis 会导致这个问题。 所以你需要手动安装 php-redis。 wget包和phpize-configure-make ....

    【讨论】:

      【解决方案6】:

      在 Ubuntu 20 和 PHP 7.4 上 我这样做了,它奏效了:

      sudo apt purge php-redis 
      
      sudo apt  intall php-redis  php7.4-redis
      

      测试redis服务器:

      $ php --ri redis
      or 
      $ redis-cli ping
      $ redis-cli info stats
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-25
        • 2015-04-09
        • 2018-05-27
        • 1970-01-01
        相关资源
        最近更新 更多