phpredis扩展提供了一个与Redis键值存储通信的API。
wget https://pecl.php.net/get/redis-5.3.4.tgz
当然也可以使用当前目录下的redis-5.3.4.tgz
- pecl redis扩展地址:https://pecl.php.net/package/redis
- redis github地址:https://github.com/phpredis/phpredis
tar xzf redis-5.3.4.tgz
$ cd redis-5.3.4
$ export PHP_HOME=you_php_home
$ $PHP_HOME/php/bin/phpize
$ ./configure --with-php-config=$PHP_HOME/php/bin/php-config
$ make -j12
执行完了之后,modules目录会产出xdiff.so
$ ls modules/
redis.so
在php.ini文件末尾增加如下内容:
[redis]
extension="redis.so"
将编译好的redis.so拷贝到php.ini文件中extension_dir配置的位置。 比如我的php.ini中extension_dir配置如下:
extension_dir="/home/work/php/ext"
则只需要将编译好的redis.so拷贝到/home/work/php/ext目录
cp modules/redis.so /home/work/php/ext
$ cd $PHP_HOME
$ php/bin/php --ri redis
redis
Redis Support => enabled
Redis Version => 5.3.4
Redis Sentinel Version => 0.1
Available serializers => php, json
Directive => Local Value => Master Value
redis.arrays.algorithm => no value => no value
redis.arrays.auth => no value => no value
redis.arrays.autorehash => 0 => 0
redis.arrays.connecttimeout => 0 => 0
redis.arrays.distributor => no value => no value
redis.arrays.functions => no value => no value
redis.arrays.hosts => no value => no value
redis.arrays.index => 0 => 0
redis.arrays.lazyconnect => 0 => 0
redis.arrays.names => no value => no value
redis.arrays.pconnect => 0 => 0
redis.arrays.previous => no value => no value
redis.arrays.readtimeout => 0 => 0
redis.arrays.retryinterval => 0 => 0
redis.arrays.consistent => 0 => 0
redis.clusters.cache_slots => 0 => 0
redis.clusters.auth => no value => no value
redis.clusters.persistent => 0 => 0
redis.clusters.read_timeout => 0 => 0
redis.clusters.seeds => no value => no value
redis.clusters.timeout => 0 => 0
redis.pconnect.pooling_enabled => 1 => 1
redis.pconnect.connection_limit => 0 => 0
redis.pconnect.echo_check_liveness => 1 => 1
redis.pconnect.pool_pattern => no value => no value
redis.session.locking_enabled => 0 => 0
redis.session.lock_expire => 0 => 0
redis.session.lock_retries => 10 => 10
redis.session.lock_wait_time => 2000 => 2000
如果执行php/bin/php --ri redis命令可以输出上述信息,那么说明redis扩展已经安装成功了。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('mykey', 'myval');
$val = $redis->get('mykey');