【问题标题】:PHP redis errorPHP redis 错误
【发布时间】:2012-07-10 14:13:18
【问题描述】:

我安装了 php redis 扩展。但是当我运行测试代码时,出现以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/redio.so' - /usr/lib/php5/20090626+lfs/redio.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Fatal error:  Class 'Redis' not found in /var/www/test/redisTest.php on line 2

我的php版本是5.3.10,我安装的是新版本的phpredis。

我可以得到你的帮助吗? 谢谢!

安装步骤如下:

git clone https://github.com/nicolasff/phpredis.git
cd phpredis
 phpize
make 
make install

然后在/etc/php5/fpm/confi.d中添加一个配置文件来加载redis.so

【问题讨论】:

  • redio.so?应该是redis.so。修复 php.ini 中的行,一切都应该开始工作了。

标签: php redis


【解决方案1】:

创建一个 PHP 文件,其中包含 echo phpinfo(); 并查看模块是否显示。如果您没有看到该模块,则说明它没有正确加载。

【讨论】:

    【解决方案2】:

    我使用 PHP 5.3 并使用以下步骤安装 PHP-Redis 对我来说效果很好:

    • 安装pecl扩展
      sudo pecl install redis
    • php.ini 中,您可能需要将extension_dir 设置为正确的值。 (可以usr/lib64/php/modules如上命令把redis.so放到这个目录下)。就我而言,我没有设置这个。
    • 以下行添加到php.ini:
      extension=redis.so
    • 重启 Apache/PHP-FPM

    【讨论】:

    【解决方案3】:

    要验证你是否安装了 redis,你可以这样做

    php -m | grep redis

    【讨论】:

      【解决方案4】:

      在 PHP5.3 和 Amazon Linux AMI 中(与 Centos OS 5 相同)

      安装库

      yum install php-pear php-devel make gcc wget
      

      安装redis

      cd /opt/
      mkdir /opt/redis
      wget https://redis.googlecode.com/files/redis-2.6.14.tar.gz "or last version"
      tar -zxvf redis-2.6.14.tar.gz
      cd redis-2.6.14
      make
      make install
      

      通过pecl安装php-redis

      pecl install redis
      

      配置选项“php_ini”未设置为 php.ini 位置

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

      重新加载 web 服务 httpd

      service httpd reload
      

      验证是否已安装扩展程序

      php -m
      [PHP Modules]
      bz2
      ...
      **redis**
      ...
      [Zend Modules]
      

      【讨论】:

        【解决方案5】:

        根据您的服务器环境(例如 x86)下载正确的库文件。此外,检查您的 PHP 是否是线程安全的,并相应地下载 Redis 库。然后将库文件放在扩展文件夹中。您需要在 php.ini 中提及库,如下所示。

        extension=redis.dll
        

        然后重新启动服务器一次,并检查它是否正常工作。 如果你有命令行 PHP,你可以在命令行 PHP 中检查它,

        php r("print_r(get_loaded_extensions());")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-12
          • 2013-08-07
          • 2012-04-22
          • 1970-01-01
          • 2014-07-04
          • 2014-08-27
          • 2015-06-02
          • 2017-08-29
          相关资源
          最近更新 更多