如何在windows安装php redis扩展

如果自己的自己是windows系统,想联调php与redis,今天找了半天的程序与redis扩展,怕自己忘了,同时给大家做个记录和参考。

我自己本机上装的wampserver,如果想要完整地在php程序中使用redis,那么是需要安装rdis程序和php的redis扩展的。

1. 下载redis程序

很多地方都能下载到redis程序,官方的地址是 https://redis.io/download ,根据自己windows版本,下载合适自己系统的程序。同时github上也提供了windows的版本可供下载:https://github.com/MicrosoftArchive/redis/releases

2. redis扩展

在wampserver中,默认是没有提供redis扩展的,需要自己下载。

首先在php中运行phpinfo(),查看自己的版本,然后下载合适的版本,最主要的是下面的这三条数据:

  • php version : 5.5.12

  • Architecture : x64

  • PHP Extension Build : API20121212,TS,VC11

redis扩展是有两个文件的: php_igbinary.dllphp_redis.dll。我们先来看下php_igbinary.dll.

2.1 选择igbinary

在链接 http://windows.php.net/downloads/pecl/releases/igbinary/2.0.1 中,我们可以看到这么多压缩包可以下载:

date time size name
1/2/2017 5:07 AM 122553 php_igbinary-2.0.1-5.5-nts-vc11-x64.zip
1/2/2017 5:20 AM 121895 pphp_igbinary-2.0.1-5.5-nts-vc11-x86.zip
1/2/2017 5:14 AM 123777 php_igbinary-2.0.1-5.5-ts-vc11-x64.zip
1/2/2017 5:27 AM 122280 php_igbinary-2.0.1-5.5-ts-vc11-x86.zip
1/2/2017 4:43 AM 123090 php_igbinary-2.0.1-5.6-nts-vc11-x64.zip
1/2/2017 4:55 AM 122594 php_igbinary-2.0.1-5.6-nts-vc11-x86.zip
1/2/2017 4:49 AM 124163 php_igbinary-2.0.1-5.6-ts-vc11-x64.zip
1/2/2017 5:01 AM 123644 php_igbinary-2.0.1-5.6-ts-vc11-x86.zip
1/2/2017 4:23 AM 187480 php_igbinary-2.0.1-7.0-nts-vc14-x64.zip
1/2/2017 4:33 AM 177353 php_igbinary-2.0.1-7.0-nts-vc14-x86.zip
1/2/2017 4:28 AM 188297 php_igbinary-2.0.1-7.0-ts-vc14-x64.zip
1/2/2017 4:37 AM 178254 php_igbinary-2.0.1-7.0-ts-vc14-x86.zip
1/2/2017 4:05 AM 139448 php_igbinary-2.0.1-7.1-nts-vc14-x64.zip
1/2/2017 4:15 AM 132123 php_igbinary-2.0.1-7.1-nts-vc14-x86.zip
1/2/2017 4:10 AM 140167 php_igbinary-2.0.1-7.1-ts-vc14-x64.zip
1/2/2017 4:19 AM 132797 php_igbinary-2.0.1-7.1-ts-vc14-x86.zip

这里,我们就要根据自己上面的参数来选择了,php的版本为5.5,php版本为TS,vc11,CPU为x64。那么我们最终选的php_igbinary为: php_igbinary-2.0.1-5.5-ts-vc11-x64.zip

2.2 选择redis

同理,在链接 http://windows.php.net/downloads/pecl/releases/redis/2.2.7 中,我们也能够看到很多的压缩包,这里我们选择php_redis-2.2.7-5.5-ts-vc11-x64.zip进行下载。

2.3 安装扩展

在下载php_igbinary和php_redis压缩包后,将里面的php_igbinary.dll和php_redis.dll放置到wampserver\wamp\bin\php\php5.5.12\ext中。

同时,在文件wampserver\wamp\bin\php\php5.5.12\php.ini中,添加上:

1
2
3
;redis
extension=php_igbinary.dll
extension=php_redis.dll

3. 测试

重启wampserver,如果在phpinfo()中能看到redis,则说明redis扩展已安装成功。这时我们启动下本地的redis。

使用bash命令行窗口,进入到在第1步中下载的redis目录中,启动服务:

1
redis-server.exe redis.windows.conf

如果展示如下信息,则说明已启动成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
                _._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.503 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 4080
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'

[4080] 27 Aug 21:45:53.723 # Server started, Redis version 3.0.503
[4080] 27 Aug 21:45:53.724 * DB loaded from disk: 0.000 seconds
[4080] 27 Aug 21:45:53.724 * The server is now ready to accept connections on port 6379

在php程序中,我们测试下:

1
2
3
4
$redis = new Redis();                   //redis对象
$redis->connect("127.0.0.1","6379"); //连接redis服务器
$redis->set("test","Hello World"); //set字符串值
echo $redis->get("test"); //获取值

若页面中,能正常输出Hello World,则redis链接成功并正常存取数据。

同时,在命令行中使用redis-cli.exe也可以进行操作。再另起一个窗口,重新进入到redis目录中,然后执行如果命令,在不输入参数时,默认连接的是127.0.0.1:6379:

1
redis-cli.exe

启动后,就可以使用redis命令操作了。就比如我们刚才在php中存储的test变量,这里也是可以获取到的:

1
get test

那么输出的也是Hello World

这里可以查看redis中的一些命令 http://www.redis.cn/commands.html

4. 总结

刚开始学习redis,依然还有很多的不足,欢迎批评指正。