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/