为php安装redis扩展
来源:原创
时间:2016-08-06
作者:脚本小站
分类:DB
1.下载php的扩展phpredis:
进入www.redis.io/clients 找到phpredis进入 https://github.com/phpredis/phpredis
或直接下载 https://codeload.github.com/phpredis/phpredis/zip/develop
2.将下载后的文件上传到服务器 /aldata/server/ 解压
[root@iZ28c6xv2w0Z phpredis]# unzip phpredis-develop.zip
进入解压后的文件列表中,没有配置文件命令configure,所以要用 /alidata/server/php/bin/phpize 生成配置文件命令configure
[root@iZ28c6xv2w0Z phpredis]# ll total 840 -rw-r--r-- 1 root root 8471 Aug 5 05:07 arrays.markdown -rw-r--r-- 1 root root 75682 Aug 5 05:07 cluster_library.c -rw-r--r-- 1 root root 16366 Aug 5 05:07 cluster_library.h -rw-r--r-- 1 root root 10126 Aug 5 05:07 cluster.markdown -rw-r--r-- 1 root root 9369 Aug 5 05:07 common.h -rwxr-xr-x 1 root root 3395 Aug 5 05:07 config.m4 -rw-r--r-- 1 root root 923 Aug 5 05:07 config.w32 -rw-r--r-- 1 root root 3218 Aug 5 05:07 COPYING -rw-r--r-- 1 root root 4483 Aug 5 05:07 crc16.h -rw-r--r-- 1 root root 204 Aug 5 05:07 CREDITS drwxr-xr-x 2 root root 4096 Aug 5 05:07 debian -rw-r--r-- 1 root root 309 Aug 5 05:07 debian.control -rw-r--r-- 1 root root 71613 Aug 5 05:07 library.c -rw-r--r-- 1 root root 6878 Aug 5 05:07 library.h -rwxr-xr-x 1 root root 636 Aug 5 05:07 mkdeb-apache2.sh -rwxr-xr-x 1 root root 471 Aug 5 05:07 mkdeb.sh -rw-r--r-- 1 root root 10686 Aug 5 05:07 package.xml -rw-r--r-- 1 root root 8715 Aug 5 05:07 php_redis.h -rw-r--r-- 1 root root 96037 Aug 5 05:07 README.markdown -rw-r--r-- 1 root root 37928 Aug 5 05:07 redis_array.c -rw-r--r-- 1 root root 1688 Aug 5 05:07 redis_array.h -rw-r--r-- 1 root root 37495 Aug 5 05:07 redis_array_impl.c -rw-r--r-- 1 root root 1613 Aug 5 05:07 redis_array_impl.h -rw-r--r-- 1 root root 120299 Aug 5 05:07 redis.c -rw-r--r-- 1 root root 96776 Aug 5 05:07 redis_cluster.c -rw-r--r-- 1 root root 9838 Aug 5 05:07 redis_cluster.h -rw-r--r-- 1 root root 103775 Aug 5 05:07 redis_commands.c -rw-r--r-- 1 root root 11423 Aug 5 05:07 redis_commands.h -rw-r--r-- 1 root root 21739 Aug 5 05:07 redis_session.c -rw-r--r-- 1 root root 422 Aug 5 05:07 redis_session.h drwxr-xr-x 2 root root 4096 Aug 5 05:07 rpm -rw-r--r-- 1 root root 424 Aug 5 05:07 serialize.list drwxr-xr-x 2 root root 4096 Aug 5 05:07 tests
3.生成配置文件:
[root@iZ28c6xv2w0Z phpredis]# /alidata/server/php/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
有了configure命令
[root@iZ28c6xv2w0Z phpredis]# ll total 2052 -rw-r--r-- 1 root root 79859 Aug 6 22:15 acinclude.m4 -rw-r--r-- 1 root root 310183 Aug 6 22:15 aclocal.m4 -rw-r--r-- 1 root root 8471 Aug 5 05:07 arrays.markdown drwxr-xr-x 2 root root 4096 Aug 6 22:15 autom4te.cache drwxr-xr-x 2 root root 4096 Aug 6 22:15 build -rw-r--r-- 1 root root 75682 Aug 5 05:07 cluster_library.c -rw-r--r-- 1 root root 16366 Aug 5 05:07 cluster_library.h -rw-r--r-- 1 root root 10126 Aug 5 05:07 cluster.markdown -rw-r--r-- 1 root root 9369 Aug 5 05:07 common.h -rwxr-xr-x 1 root root 44893 Aug 6 22:15 config.guess -rw-r--r-- 1 root root 1652 Aug 6 22:15 config.h.in -rwxr-xr-x 1 root root 3395 Aug 5 05:07 config.m4 -rwxr-xr-x 1 root root 33399 Aug 6 22:15 config.sub -rwxr-xr-x 1 root root 452610 Aug 6 22:15 configure ... drwxr-xr-x 2 root root 4096 Aug 5 05:07 tests
4.配置php模块:
[root@iZ28c6xv2w0Z phpredis]# ./configure --with-php-config=/alidata/server/php/bin/php-config
5.安装 make
[root@iZ28c6xv2w0Z phpredis]# make
make install
[root@iZ28c6xv2w0Z phpredis]# make install Installing shared extensions: /alidata/server/php/lib/php/extensions/no-debug-non-zts-20100525/
编译完成以后在 /alidata/server/php/lib/php/extensions/no-debug-non-zts-20100525/ 目录下会有一个redis.so的扩展,只要在配置文件中添加这个扩展并重启之后就可以在php中使用redis
-rwxr-xr-x 1 root root 1607810 Aug 6 22:20 redis.so
6.在配置文件中添加扩展:
[root@iZ28c6xv2w0Z ~]# vim /alidata/server/php/etc/php.ini
大概在895行添加如下
extension="redis.so"
重启apache 启动redis
[root@iZ28c6xv2w0Z /]# /alidata/server/redis-3.2.1/src/redis-server /alidata/server/redis-3.2.1/redis.conf
打开网站 phpinfo() 就可以看到redis扩展了
7.在php中调用redis:
// 实例化 $redis = new \Redis(); // 链接redis $redis->connect('localhost',6379); // 授权 $redis->auth('123456'); // 设置值 $set = $redis->set('name','xiaoming'); // 查询 $keys = $redis->keys('*'); var_dump($keys);