linux下安装redis扩展
一、安装PHP的redis扩展
1、下载地址:http://pecl.php.net/package/redis 下载 redis-4.2.0.tgz
可通过sftp上传工具上传到服务器的安装目录 我一般放在 /usr/local 目录下
2、安装
tar
-zxvf redis-4.2.0.tgz
cd
redis-4.2.0
/usr/local/php/bin/phpize
.
/configure
--with-php-config=
/usr/local/php/bin/php-config
make
执行完make 可执行下make test 看下有无报错,再依据报错进行解决
make
install
注意:红色框框内就是编译完的redis.so文件所在的目录,php扩展一般放在 /usr/local/php/lib/php/extensions,需要把redis.so复制放在php扩展目录下,
查找php扩展文件 find /-name extensions
查找redis.so文件位置输入 find / -name redis.so
3、配置
注意:find / -name php.ini 查找文件
php.ini 文件放在/etc/php.ini 、/usr/local/php/etc/php
.ini 两个位置,
如果ini文件位置不对,可以通过运行 php --ini
找到实际加载的ini文件路径,在选择需要修改的php.ini文件
编辑php.ini配置文件,加上如下配置,extension_dir就是第五步的那个存放扩展的路径
extension = redis.so
修改完php.ini需要重启php-fpm,具体错误参照末尾可能会遇到的错误!
重启nginx,再看phpinfo,已经有redis扩展了
查看php扩展:php -m
可能会遇到的错误:
1、重启php-fpm ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
原因为9000端口被占用
解决措施:killall php-fpm 再执行 php-fpm
2、linux下安装PHP redis扩展,php -m 查看提示undefined symbol: php_session_validate_sid in Unknown on line 0
解决措施:ln -s /usr/local/php/bin/php /usr/bin/php
如果提示/usr/bin/php是存在的,那就删掉php文件,再执行上面那个命令就好
3、还可能遇到某个函数被禁用,这时候查看php.ini文件 搜索disable_functions,将禁用函数移除即可!