配置php redis 擴展

* 安裝redisphp

到redis官網 https://redis.io/html

wget http://download.redis.io/releases/redis-4.0.11.tar.gznode

下載不了git

git clone https://github.com/antirez/redisgithub

 

參照runoob:PHP 使用 Redisredis

Windows:windows

- 假設redis已經安裝好 服務啓動bash

  https://github.com/ServiceStack/redis-windowssession

- xampp (php 7.1 x86 windows)curl

 

查看phpinfo (php 7.1 x86/x64 ts/uts vc14/vc15)


Zend Extension Build API320160303,TS,VC14
PHP Extension Build API20160303, TS,VC14

https://windows.php.net/downloads/pecl/releases/igbinary/2.0.6rc1/
https://windows.php.net/downloads/pecl/releases/redis/3.1.4/php_redis-3.1.4-7.2-ts-vc15-x86.zip

 

; php.ini
extension=php_igbinary.dll
extension=php_redis.dll

  

查看phpinfo 有redis擴展

test

<?php

$redis = new Redis();
$redis->connect('172.16.0.224', 16379);
$redis->auth("redis_requirepass");

echo "Connection to server sucessfully<br />";
//設置 redis 字符串數據
$redis->set("tutorial-name", "Redis tutorial");
// 獲取存儲的數據並輸出
echo "Stored string in redis:: " . $redis->get("tutorial-name");

 

Mac:

下載php-redis,地址:https://nodeload.github.com/nicolasff/phpredis/zip/master 這個版本過高

https://github.com/phpredis/phpredis/releases/tag/3.1.2

或者 git clone https://github.com/phpredis/phpredis

git branch -a

git checkout -b 分支名

wget https://codeload.github.com/phpredis/phpredis/zip/3.1.2 -O php-redis-3.1.2.zip

 

連接: https://pan.baidu.com/s/1-08Wb7TsigVa1fj9k_oByg 密碼: ny9g

curl https://nodeload.github.com/nicolasff/phpredis/zip/master > phpredis-master.zip

mv ~/Downloads/phpredis-master.zip .

unzip phpredis-master.zip -d .

cd ./phpredis-master

phpize

若未安裝autoconf,則會報錯 $ brew install autoconf

./configure --with-php-config=`which php-config`

make

make test

sudo make install

Linux:

wget https://codeload.github.com/phpredis/phpredis/zip/3.1.2 -O php-redis-3.1.2.zip
unzip php-redis-3.1.2.zip -d .
./phpredis-3.1.2/
/opt/lampp/bin/phpize-7.3.7 
./configure --with-php-config="/opt/lampp/bin/php-config-7.3.7"
make -j4
sudo make install

 

sudo emacs /Applications/XAMPP/etc/php.ini

+++++++++++++++++++++++++++++++++

extension="redis.so"

================================

 

重啓apahce後

php -m|grep redis

查看phpredis擴展是否開啓。

 test:

 

<?php

function ul($arList) {
    echo "<ul>";
    foreach ($arList as $el) {
        echo "<li>".htmlspecialchars($el)."</li>";
    }
    echo "</ul>";
}

$redis = new Redis();

$handle = $redis->connect("127.0.0.1", 16379);
$redis->auth("secret");

if (!$handle) {
  echo "<p>Conenct to redis failed!</p>";
}

echo "Connect to server successfull<br />";
echo "<pre>";
var_dump($handle);
echo "</pre>";

echo "<p>Server is running: ".$redis->ping()."</p>";

$redis->del("test:string");
$redis->set("test:string", "Redis Tutorial");
echo "Stored string in redis::".$redis->get("test:string")."<br />";

$redis->del("test:list");
$a = ["Redis", "MongoDB", "MySQL"];
array_walk($a, function($item, $key) use ($redis) {
    $redis->lpush("test:list", $item);
});

$arList = $redis->lrange("test:list", 0, 5);
ul($arList);

$keys = $redis->keys("test:*");
ul($keys);

 

 

 常見的php版本對應的redis:

php5.6:

wget https://github.com/phpredis/phpredis/archive/3.1.2.zip

PHP session改成redis (默認的是文件)

//方式一,在php腳本中設置更改php會話寫入方式
<?php
ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://127.0.0.1:6379");
//若是有密碼
ini_set("session.save_path","tcp://127.0.0.1:6379?auth=password");
?>

 

//修改php的配置文件php.ini session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379" //若是有密碼 session.save_path = "tcp://127.0.0.1:6379?auth=password"

相關文章
相關標籤/搜索