安装PHP的redis扩展

redis 安装成功之后,我们是可以在命令行通过一些redis命令来操作的,但是如果我们要通过PHP来操作redis的话,还需要为php安装redis扩展。

可以通过命令:php -m

来查看php现在已经安装的一些扩展

默认情况下,php并没有redis扩展,那么我们需要为php打一个redis的包

1.进入redis官网,点击“clients”(客户端)

2.选择对应的语言,这里我们选择PHP

这里面有很多phpredis的扩展,我们可以选择带星的,相对是比较好的

这里我们选择phpredis

进入到这个扩展的github地址:https://github.com/phpredis/phpredis.git

3.在redis目录的同级目录下,把phpredis扩展下载下来

$ git clone https://github.com/phpredis/phpredis.git

$ cd phpredis

$ phpize

这里报错:Canot find autoconf,请查看解决方法:phpize 时 Cannot find autoconf 解决方法

$ ./configure --with--php-config=/usr/local/php5/bin/php-config

$ make && make install
执行完毕之后,你可以在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/目录下发现多了一个redis.so

然后我们需要在php.ini中,把我们这个扩展加上:

有两个点需要修改:

a.有一个extension_dir的选项,修改成你现在扩展的目录

b.加上:extension=redis.so

重新启动php-fpm 和服务器

再执行php -m 应该就可以看到 redis 扩展了。

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

正常情况下应该就是上边的流程,但是我在MAC上安装的时候,有的地方不一样,当然这可能是之前用这台电脑的同事,有安装redis的缘故。当我执行php -m的时候,我发现就已经有redis扩展了,但是我没有找到他对应的安装包之类的,我决定把之前的替换掉。

但是我在php.ini的配置文件中并没有找到redis.so类似的扩展,真的是百思不得其解,

后来在一个测试文件中写了:phpinfo()进行测试。

发现有其他的一些配置文件被解析到,我打开发现,原来是写在这个扩展的配置文件中的。

它也是引入了/usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/redis.so

但是之前我在打这个redis扩展包的时候,结束提示:

Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/

cp: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/#INST@14993#: Permission denied

及时我使用sudo make && make install 还是提示这个。

后来我在/phpredis/modules/目录下发现在在这个目录下也生成了redis.so,

我就直接把这个redis.so复制到/usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/去了。

$ sudo cp redis.so /usr/local/php5/lib/php/extensions/no-debug-non-zts-20160303/redis.so

后来我再去刷新phpinfo那个页面,就发现redis扩展的相关信息变了,应该是替换成功了

我就是一直都没生成redis.so 复制过去就ok了!

————————————————
版权声明:本文为CSDN博主「我_曾是少年」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liaobangxiang/article/details/81077641

相信坚持的力量,日复一日的习惯.
原文地址:https://www.cnblogs.com/pansidong/p/14972611.html