PHP配置redis支持

Posted 赖荣生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP配置redis支持相关的知识,希望对你有一定的参考价值。

一、windows+phpStudy

 1、使用phpinfo查看PHP的版本信息,根据信息选择32位还是64位版本

http://192.168.3.68/phpinfo.php

 2、根据PHP版本号,编译器版本号和CPU架构选择下载内容,下载地址如下

http://windows.php.net/downloads/pecl/releases/redis/

http://windows.php.net/downloads/pecl/releases/igbinary/1.2.1/

我用的是这个版本

3、解压缩后,将php_redis.dll和php_redis.pdb拷贝至php的ext目录下,根据拟选用的php版本找到php目录然后复制到ext目录下。

4、修改 php.ini 在该文件中加入:

; php_redis
extension=php_igbinary.dll
extension=php_redis.dll

注意:extension=php_igbinary.dll一定要放在extension=php_redis.dll的前面,否则此扩展不会生效 (igbinary.dll可以不加)

5、重启,使用phpinfo查看扩展是否成功安装;

http://192.168.3.68/phpinfo.php

  二、centos7+ng1.8+php7

1、安装前的准备(安装php-devel),不安装这个不能生成configure

yum install php-devel

2、下载redis扩展/usr/local/src目录

# 进入src目录
cd /usr/local/src
# 下载扩展
wget http://pecl.php.net/get/redis-3.1.6.tgz

3、解压

tar zxf redis-3.1.6.tgz
cd redis-3.1.6

4、生成配置文件并编译redis扩展

# phpize执行文件的路径  
/usr/local/php/bin/phpize
# 生成配置文件
./configure --with-php-config=/usr/local/php/bin/php-config
# 编译redis扩展
make && make install

  注意:机器上有可能有多个php注意编译和启动要使用同一个php,之前使用“./configure --with-php-config=/usr/bin/php-config”编译后启动php提示如下错误,改为以上命令编译后正常

[13-Jan-2018 11:12:30] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library \'/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so\' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so: undefined symbol: zval_used_for_init in Unknown on line 0
<br />
<b>Warning</b>:  PHP Startup: Unable to load dynamic library \'/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so\' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so: undefined symbol: zval_used_for_init in <b>Unknown</b> on line <b>0</b><br />

6、修改php.ini配置文件

# 编辑
vi /usr/local/php/lib/php.ini
# 任意行添加如下内容
extension="redis.so"

7、将编译好的redis.so复制到extensions目录中

cp /usr/local/src/redis-3.1.6/modules/redis.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/

  我的目录是这个根据情况你需要修改。

8、重新启动php

# 查看php进程
ps -ef | grep php-fpm
# 杀掉php进程
killall php-fpm
# 重启php
/usr/local/php/sbin/php-fpm

9、检查php redis扩展安装是否正确,

https://192.168.3.85/phpinfo.php

  看到如下redis信息即可。

 

 

参考:

  http://blog.csdn.net/baidu_30000217/article/details/51481138

 

以上是关于PHP配置redis支持的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 中的通用代码片段或模板

windows系统php配置redis

如何配置php session使用redis集群

原修改Redis操作类,支持选择数据库功能

ThinkPHP5配置redis缓存

LNMP+Redis