我安装了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
我使用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
要验证是否安装了redis,可以执行此
php -m | grep redis
使用echo-phpinfo()创建一个文件PHP,然后查看模块是否显示。如果您没有看到模块,则说明它没有正确加载。
在PHP5.3和Amazon Linux AMI(与Centos OS 5相同)中
安装libs
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-reis
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]
根据您的服务器环境(例如x86)下载适当的库文件。此外,请检查您的PHP是否是线程安全的,并相应地下载Redis库。然后将库文件放在扩展文件夹中。您需要提到php.ini中的库,如下所示。
extension=redis.dll
然后重新启动服务器一次,检查它是否正常工作。如果你有命令行PHP,你可以在命令行PHP中将其检查为,
php r("print_r(get_loaded_extensions());")