PHP配置redis支持
原创
©著作权归作者所有:来自51CTO博客作者rong123l的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、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
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信息即可。