PHP不同的版本對應着不同的redis擴展,PHP 7.2對應的redis擴展是4.0.2
一.下載php-redis包,解壓之
wget http://pecl.php.net/get/redis-4.0.2.tgz
tar -xzvf redis-4.0.2.tgz
cd redis-4.0.2
二.通過phpize生成編譯configure配置文件,編譯&&安裝
沒有配置環境變量的話,必須使用 絕對地址 ,栗子:/usr/local/php/sbin/phpize
phpize
指定php配置文件的位置
./configure --with-php-config=/usr/local/php/bin/php-config
編譯安裝
make && make install
三. php配置文件中添加redis擴展
在php.ini增加擴展extension=redis.so
vim php.ini
#文件尾增加下面代碼 如果無效,請使用絕對地址
extension=redis.so
四. 重啓nginx
nginx -s stop # 停止
nginx #啓動,也可直接使用 ngin -s reload 來重啓
五 .測試是否安裝完成
兩種方式,一種是php -m 查看php的擴展,另一種是查看phpinfo。
php -m
php -m 打印的信息中有redis,但是phpinfo中沒有,而且使用腳本測試redis的話,報500錯誤。但是使用cli來啓動腳本的話,沒問題。後來發現是php-fpm沒有重啓
找到主進程的進程號,重啓
# ps aux|grep php-fpm
root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm
root 32192 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 32193 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www
nobody 32194 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
kill -USR2 32192
php測試reddis腳本
//php中操作redis
//redis就是php的一個功能類,名字是redis,該類裏邊有許多成員操作方法
//創建對象
$redis = new Redis();
//連接redis服務器
$s = $redis->connect('127.0.0.1',6379);
//選擇數據庫
$redis->select(0);
//設置key
$redis->set('test','success');
//獲取key的value
$test1 = $redis->get('test');
$redis->mset(array('Kity'=>'female','Jack'=>'male','Marry'=>'guess'));
$test2 = $redis->mget(array('Kity','jack','Marry'));
echo "It's ok<br/>";
echo "result1:<br/>".$test1."<br/>";
echo "result2:<br/>";
foreach($test2 as $value){
echo $value."<br/>";
}
//通過反射感知Redis類裏邊全部的操作方法
//根據Redis類實例化一個反射類對象
$redis_Methods = new ReflectionClass('Redis');
//獲得Redis類的全部操作方法
var_dump($redis_Methods->getMethods());