Rumah >pembangunan bahagian belakang >tutorial php >如何在linux下安装redis以及PHP中扩展redis

如何在linux下安装redis以及PHP中扩展redis

墨辰丷
墨辰丷asal
2018-05-15 17:32:291642semak imbas

本篇文章主要介绍如何在linux下安装redis以及PHP中扩展redis,感兴趣的朋友参考下,希望对大家有所帮助。

第一部分:安装redis 
希望将redis安装到此目录 

/usr/local/redis

希望将安装包下载到此目录 

/usr/local/src

那么安装过程指令如下: 

$ mkdir /usr/local/redis  
$ cd /usr/local/src  
$ wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz  
$ tar xzf redis-2.6.14.tar.gz   
$ ln -s redis-2.6.14 redis #建立一个链接  
$ cd redis  
$ make PREFIX=/usr/local/redis install #安装到指定目录中

注意上面的最后一行,我们通过PREFIX指定了安装的目录。如果make失败,一般是你们系统中还未安装gcc,那么可以通过yum安装: 

yum install gcc

安装完成后,继续执行make. 

在安装redis成功后,你将可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件: 

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

1.复制脚本到/etc/rc.d/init.d目录 
第二部分:将redis做成一个服务
 

ps: /etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行 
按以上步骤安装Redis时,其服务脚本位于:

/usr/local/src/redis/utils/redis_init_script

必须将其复制到/etc/rc.d/init.d的目录下: 

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

如果这时添加注册服务:
将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis。

chkconfig --add redis

将报以下错误:

redis服务不支持chkconfig

2.更改redis脚本 
为此,我们需要更改redis脚本。 

打开使用vi打开脚本,查看脚本信息: 

vim /etc/rc.d/init.d/redis

看到的内容如下(下内容是更改好的信息): 

#!/bin/sh 
#chkconfig: 2345 80 90 
# Simple Redis init.d script conceived to work on Linux systems 
# as it does use of the /proc filesystem. 
   
REDISPORT=6379 
EXEC=/usr/local/redis/bin/redis-server 
CLIEXEC=/usr/local/redis/bin/redis-cli 
   
PIDFILE=/var/run/redis_${REDISPORT}.pid 
CONF="/etc/redis/${REDISPORT}.conf" 
   
case "$1" in 
    start) 
        if [ -f $PIDFILE ] 
        then 
                echo "$PIDFILE exists, process is already running or crashed" 
        else 
                echo "Starting Redis server..." 
                $EXEC $CONF & 
        fi 
        ;; 
    stop) 
        if [ ! -f $PIDFILE ] 
        then 
                echo "$PIDFILE does not exist, process is not running" 
        else 
                PID=$(cat $PIDFILE) 
                echo "Stopping ..." 
                $CLIEXEC -p $REDISPORT shutdown 
                while [ -x /proc/${PID} ] 
                do 
                    echo "Waiting for Redis to shutdown ..." 
                    sleep 1 
                done 
                echo "Redis stopped" 
        fi 
        ;; 
    *) 
        echo "Please use start or stop as first argument" 
        ;; 
esac

1.原文件是没有以下第2行的内容的,
和原配置文件相比: 

#chkconfig: 2345 80 90
EXEC=/usr/local/redis/bin/redis-server   
CLIEXEC=/usr/local/redis/bin/redis-cli

2.原文件EXEC、CLIEXEC参数,也是有所更改。 


3.redis开启的命令,以后台运行的方式执行。

$EXEC $CONF &

占据在前台,占用了主用户界面,造成其它的命令执行不了。 
ps:注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将 

4.将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf 


这样,redis服务脚本指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。 

以上操作完成后,即可注册yedis服务:

chkconfig --add redis
service redis start

3.启动redis服务 

第三,将Redis的命令所在目录添加到系统参数PATH中 

修改profile文件:

vi /etc/profile

在最后行追加: 

export PATH="$PATH:/usr/local/redis/bin"

然后马上应用这个文件: 

. /etc/profile

这样就可以直接调用redis-cli的命令了,如下所示: 
执行上一步的时候遇到权限不够:chmod 777 /etc/profile

$ redis-cli   
redis 127.0.0.1:6379> auth superman   
OK   
redis 127.0.0.1:6379> ping   
PONG   
redis 127.0.0.1:6379>

至此,redis 就成功安装了。

 

下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

上传phpredis-2.2.4.tar.gz到/usr/local/src目录

cd /usr/local/src #进入软件包存放目录

tar zxvf phpredis-2.2.4.tar.gz #解压

cd phpredis-2.2.4 #进入安装目录

/usr/local/php/bin/phpize #用phpize生成configure配置文件,目录可能不同。phpize是php中bin目录下的一个可执行文件,所有要先找到对应的目录。

./configure --with-php-config=/usr/local/php/bin/php-config  #配置,注意要先确保/usr/local/php/bin/php-config存在。对应php的bin目录下的php-config

make  #编译

make install  #安装

安装完成之后,出现下面的安装路径

/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

也可能出现
Installing shared extensions:     /usr/lib64/php/modules/

这个是的正常,继续下面的。

2、配置php支持

vi /usr/local/php/etc/php.ini  #编辑配置文件,在最后一行添加以下内容

添加

extension="redis.so"

:wq! #保存退出

重新启动httpd------------->ok


相关推荐:

php处理redis

redis在nodejs中应用案例详解

php结合redis 秒杀商品的详解

Atas ialah kandungan terperinci 如何在linux下安装redis以及PHP中扩展redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP中常用算法以及数据结构Artikel seterusnya:关于PHP中乱码的问题