首页 > 代码库 > linux安装redis服务,配置PHP扩展

linux安装redis服务,配置PHP扩展

1.下载编译安装redis

$ wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gz
$ cd phpredis-2.2.7                      # 进入 phpredis 目录
$ /usr/local/php/bin/phpize              # php安装后的路径,使用phpize生成编译文件
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install

2.修改php.ini添加redis扩展

vi /usr/local/php/lib/php.ini       
增加如下内容:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"

extension=redis.so

lnmp环境下,php.ini文件在/usr/local/php/etc/php.ini,这里会有些不同。

有的会在编译时(make && make install)出现下面的错误

fatal error: ext/standard/php_smart_str.h: No such file or directory

 

那是因为你是PHP7版本,我们需要从github,下载指定的分支

git clone https://github.com/phpredis/phpredis.git
cd php redis/
git checkout php7
phpize
./configure
make && make install
启动扩展

光安装了还不够,我们还需要编辑PHP的配置文件来使扩展被加载才行, vi  /uer/local/php/etc/php.ini,在配置文件中添加如下语句:

extension=redis.so

还有情况你会在执行,./config时,让你制定php-config的路径

configure: error: Cannot find php-config. Please use --with-php-config=PATH
//这里指定路径 [root@iZuf6gq83tirjb44hc5q6vZ phpredis]
# ./configure --with-php-config=/usr/local/php/bin/php-config

再一次执行 make && make install ,结果如下:

Build complete.
Don‘t forget to run ‘make test‘.

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

查下php扩展下的redis.so文件,是否生成

[root@iZuf6gq83tirjb44hc5q6vZ no-debug-non-zts-20160303]# ll
total 6644
-rwxr-xr-x 1 root root 3418276 Jun 28 13:45 opcache.a
-rwxr-xr-x 1 root root 1635527 Jun 28 13:45 opcache.so
-rwxr-xr-x 1 root root 1730895 Jun 28 22:32 redis.so

再次vi php.ini,加上,不用加路径了,直接写下面的这段代码,重启服务,查看phpinfo

extension=redis.so

 技术分享

完成!

自己踩过的坑,只有自己才知道

linux安装redis服务,配置PHP扩展