为什么80%的码农都做不了架构师?>>>
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 redisstart brew services start redisstop brew services stop redisrestart 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
<?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