php redis安装使用,php redis 安装和使用

mac安装 redis

$brew update

$brew install redis

==> Downloading https://homebrew.bintray.com/bottles/redis-4.

Already downloaded: /Users/lph/Library/Caches/Homebrew/redis-4.0.2.sierra.bottle.tar.gz

==> Pouring redis-4.0.2.sierra.bottle.tar.gz

==> Caveats

To have launchd start redis now and restart at login:

brew services start redis

Or, if you don't want/need a background service you can just run:

redis-server /usr/local/etc/redis.conf

==> Summary

? /usr/local/Cellar/redis/4.0.2: 13 files, 2.8MB

初始 : brew services restart redis

其中指令有

install brew install redis

start brew services start redis

stop brew services stop redis

restart brew services restart redis

卸载redis

$ brew uninstall redis

php扩展

错误示范:使用brew install php56-redis,配置 陷入到绝望,本机php版本为5.6

brew install php56-redis --build-from-source

这里请不要用brew install php56-redis, 扩展本身存在问题,所以这里只能自己一步步来配了

$ sudo git clone https://github.com/nicolasff/phpredis.git #下载phpredis软件包

Cloning into 'phpredis'...

remote: Counting objects: 8492, done.

remote: Compressing objects: 100% (24/24), done.

remote: Total 8492 (delta 11), reused 13 (delta 6), pack-reused 8462

Receiving objects: 100% (8492/8492), 4.72 MiB | 1.21 MiB/s, done.

Resolving deltas: 100% (5783/5783), done.

Checking connectivity... done.

$ cd phpredis #切换到安装目录内

phpredis $ phpize

Configuring for:

PHP Api Version: 20131106

Zend Module Api No: 20131226

Zend Extension Api No: 220131226

phpredis $ .configure

....

...

..

.

phpredis $ make #在安装包生成modules/redis.so

把生成的redis.so复制到php扩展中

$ sudo cp -p modules/redis.so /usr/local/Cellar/php56/5.6.31_7/lib/php/extensions/no-debug-non-zts-20171011

本机php 通过brew install,php路径会有所不同,但是 lib/php/extensions/no-debug-non-zts-20171011大都相同.这里注意两点:

1.如果没有extensions自行创建

2.copy可能会遇到权限问题,解决方法两种:Operation not permitted 另一种方法直接吧redis.so复制到该文件下

最后:打开/usr/local/etc/php/5.6/php.ini

extension_dir = "/usr/local/Cellar/php56/5.6.31_7/lib/php/extensions/no-debug-non-zts-20171001/"

extension = redis.so

重启apache并 通过 php -m 指令查看扩展列表时候有redis

$ sudo apachectl restart

$php -m

[PHP Modules]

bcmath

bz2

calendar

Core

ctype

curl

date

dba

dom

ereg

exif

fileinfo

filter

ftp

gd

gettext

hash

iconv

imap

json

ldap

libxml

mbstring

mhash

mysqli

mysqlnd

odbc

openssl

pcntl

pcre

PDO

pdo_mysql

PDO_ODBC

pdo_sqlite

Phar

posix

readline

redis

Reflection

session

shmop

SimpleXML

soap

sockets

SPL

sqlite3

standard

sysvmsg

sysvsem

sysvshm

tokenizer

wddx

xml

xmlreader

xmlrpc

xmlwriter

xsl

zip

zlib

[Zend Modules]

ubuntu安装redis

$ sudo apt-get update

$ sudo apt-get install redis-server

$ redis-cli

# 该命令会打开如下Redis提示:

127.0.0.1:6379>

# 输入ping

127.0.0.1:6379> ping

PONG

# 说明成功安装

php扩展

方法一:

$ sudo git clone https://github.com/nicolasff/phpredis.git

Cloning into 'phpredis'...

remote: Counting objects: 8492, done.

remote: Compressing objects: 100% (24/24), done.

remote: Total 8492 (delta 11), reused 13 (delta 6), pack-reused 8462

Receiving objects: 100% (8492/8492), 4.72 MiB | 1.21 MiB/s, done.

Resolving deltas: 100% (5783/5783), done.

Checking connectivity... done.

$ cd phpredis

phpredis $ phpize

No command 'phpize' found, did you mean:

Command 'phpize5' from package 'php5-dev' (main)

phpize: command not found

phpize命令报错 需要安装 php5-dev

$ sudo apt-get install php5-dev

然后 继续输入 phpize

phpredis $ sudo phpize

Configuring for:

PHP Api Version: 20121113

Zend Module Api No: 20121212

Zend Extension Api No: 220121212

生成配置

phpredis $ ./configure

.....

phpredis $ make

vim /etc/php5/cli/php.ini 并在末尾加上 extension = redis.so,

之后重启apache

$ service apache2 restart

测试结果: 在/var/www/index.php中添加如下代码并访问localhost/index.php

$redis = new Redis();

$redis->connect('127.0.0.1', 6379);

$redis->set('key', 'hello world');

echo $redis->get('key');

?>

也可以通过打开redis-cli测试

$ redis-cli

127.0.0.1:6379> get key

"hello world"

方法二:

sudo apt-get install php5-redis