自學 phpredis 的心路歷程

Centos 7 下安裝 redis php

使用的調試模式是:win開發 雙系統調試(win,centos7) 在centos7 下面掛載win7共享文件夾。web

 

1.能夠打開官方網址 http://pecl.php.net/package/redis
查看最新版本,我推薦V3.1.2 (由於這是最穩定的,高可用的)一個版本
下載地址:http://pecl.php.net/get/redis-3.1.2.tgzredis

使用命令:
wget http://pecl.php.net/get/redis-3.1.2.tgz
tar -zvxf redis-3.1.2.tgzcentos

cd redis-3.1.2學習

phpize測試

./configure --with-php-config=/alidata/server/php-5.5.7/bin/php-configui

make && make installcentos7

安裝後,獲得安裝位置所在的路徑spa

/alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/
/alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/.net

vi /alidata/server/php/etc/php.ini

測試redis

發現不能鏈接 報以下錯誤:

Warning: Redis::connect(): connect() failed: Connection refused in /mnt/redis/index.php on
line 93

緣由:只是安裝了這個擴展,redis_server 服務沒有啓動

可是我找到不到 redis_server 文件在哪裏

使用find / -name redis_server未找到此文件。

最近打算從redis.io官方下載去安裝,啓動redis 服務

$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make

編譯後會產生一個src 的目錄,裏面就是redis_server

$ src/redis-server 啓動redis

下面咱們來配置一下redis 找到redis.conf

通常都在你的解壓的目錄下面。也可以使用

$find / -name redis.conf 找到此文件

如今咱們來配置
$vi redis.conf

編寫開機自啓動腳本

基本原理爲:
系統開機啓動時會去加載/etc/init.d/下面的腳本,一般而言每一個腳本文件會自定義實現程序的啓動;
若想將新的程序開機自啓動,只需在該目錄下添加一個自定義啓動程序的腳本,而後設置相應規則便可

如在這裏咱們在/etc/init.d/下新建一個 redis 的腳本,開機啓動時會去加載執行該腳本。

redis腳本內容以下
---------------------------------
# chkconfig: 2345 90 10

# description: Redis is a persistent key-value database

###########################
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/etc/redis.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
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
##############################
-----------------------------------------

可是加上後,發現不起做用,開機後,服務沒有運行,還只能是手動啓動

這個放一邊。後面有機會纔去研究,怎麼讓它正常。今天的重點是學習phpredis

在win端 運行一下,發現 file_put_contents() 不能寫入。提示權限問題。

又在網上一通找解決辦法。整了二三個小時。最後理出了思路,是掛載的問題。

緣由是:

在liunx下掛載共享文件夾 默認是有rw權限的,默認的用戶是root,而且不能使用chmod,chown

修改權限,修改用戶。可是http服務的用戶是www,因此在終端下面是寫入是沒有問題,可是在web服務

下就不能寫入。

因此必須在掛載時,指定用戶組爲www.

mount.cifs -o username=Administrator,password=123456,uid=www,gid=www //192.168.112.1/htdocs
/mnt/

相關文章
相關標籤/搜索