MacOS上一直沒(méi)安裝php的Redis擴(kuò)展,最近筆者安裝的時(shí)候遇到個(gè)問(wèn)題慧域,所以順便把安裝過(guò)程記錄一下锣枝。順便加固一下流程。
2 下載Redis文件
可以從gitHub上下載phpredis述雾。gitHub上也有關(guān)于redis的使用捷绑。筆者自認(rèn)為無(wú)聊時(shí)看看這些文檔很不錯(cuò)笆焰。
~ git clone https://github.com/nicolasff/phpredis
cd phpredis
1 查看是否安裝
筆者電腦上沒(méi)有安裝Redis的php擴(kuò)展劫谅。如果想查看個(gè)人電腦上是否已經(jīng)安裝了Redis擴(kuò)展,可以使用:
php -mod
不過(guò)嚷掠,筆者電腦上裝的是XAMPP(其實(shí)現(xiàn)在有點(diǎn)后悔捏检,如果當(dāng)初直接安裝Apache,PHP和MySQL,對(duì)于筆者現(xiàn)在來(lái)說(shuō)可能更方便一點(diǎn)不皆。但是現(xiàn)在形成習(xí)慣了也不想再改)贯城,查看XAMPP中的php擴(kuò)展:
? /Applications/XAMPP/etc j bin
/Applications/XAMPP/bin
/Applications/XAMPP/bin ./php -m
如果里面有redis,說(shuō)明已安裝好。如果沒(méi)有霹娄,說(shuō)明還未安裝能犯。
3 查看是否有phpize 和 php-config
/Applications/XAMPP/bin ls -a | grep phpize
phpize
phpize-7.0.2
/Applications/XAMPP/bin ls -a | grep php-config
php-config
php-config-7.0.2
/Applications/XAMPP/bin
如果沒(méi)有則要安裝,后面安裝Redis擴(kuò)展會(huì)用到犬耻。XAMPP中已安裝好踩晶,所在在此不再說(shuō)明如何安裝。
4 安裝
進(jìn)入下載的redis文件枕磁,安裝
~ cd phpredis
~/phpredis develop ls
COPYING README.markdown cluster_library.h crc16.h library.c package.xml redis_array.h redis_cluster.h redis_session.h
CREDITS arrays.markdown common.h debian library.h php_redis.h redis_array_impl.c redis_commands.c rpm
INSTALL.markdown cluster.markdown config.m4 debian.control mkdeb-apache2.sh redis.c redis_array_impl.h redis_commands.h serialize.list
ISSUE_TEMPLATE.md cluster_library.c config.w32 liblzf mkdeb.sh redis_array.c redis_cluster.c redis_session.c tests
~/phpredis develop /Applications/XAMPP/bin/phpize
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012
~/phpredis develop ./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
~/phpredis develop whoami
abao
~/phpredis develop sudo make install
安裝后會(huì)在末行給出一個(gè)路徑,記住這個(gè)路徑:
Installing shared extensions: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/
5 php.ini文件中引用
/Applications/XAMPP cd etc && ls
extra httpd.conf.bak mime.types openssl.cnf php.ini-pre1.7.2 ssl.crt webalizer.conf.sample
freetds.conf locales.conf my.cnf original pool.conf ssl.key xampp
httpd.conf magic openldap php.ini proftpd.conf webalizer.conf
/Applications/XAMPP/etc vim php.ini
/Applications/XAMPP/etc
不知道為什么渡蜻,這里的復(fù)制粘貼不行,直接截圖了:
在最后一行加上extension便可计济。其實(shí)如果安裝過(guò)xdebug,如上圖所示茸苇,兩者一對(duì)比,便更好理解了沦寂。好像直接 等于 redis.so
也行学密。筆者不放心,就全路徑了传藏。
6 最后一步最重要:
重啟xampp腻暮。
/ j xamppfiles
/Applications/XAMPP
/Applications/XAMPP ./xamppfiles/xampp restart
Restarting XAMPP for Mac OS X 7.0.2-1...
You need to be root to perform this action.
? /Applications/XAMPP sudo ./xamppfiles/xampp restart
Password:
Restarting XAMPP for Mac OS X 7.0.2-1...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
/Applications/XAMPP
然后,通過(guò)phpinfo查看毯侦,或者之前第二步查看是否安裝Redis擴(kuò)展西壮。
7 連接
創(chuàng)建文件:
通過(guò)php在命令行上直接執(zhí)行或是通過(guò)瀏覽器訪問(wèn)文件。這樣叫惊,便可直接訪問(wèn)了。
筆者之前直接這樣運(yùn)行:
/Applications/XAMPP/htdocs/code php connect.php
PHP Fatal error: Uncaught Error: Class 'Redis' not found in /Applications/XAMPP/xamppfiles/htdocs/code/connect.php:3
Stack trace:
#0 {main}
thrown in /Applications/XAMPP/xamppfiles/htdocs/code/connect.php on line 3
Fatal error: Uncaught Error: Class 'Redis' not found in /Applications/XAMPP/xamppfiles/htdocs/code/connect.php:3
Stack trace:
#0 {main}
thrown in /Applications/XAMPP/xamppfiles/htdocs/code/connect.php on line 3
? /Applications/XAMPP/htdocs/code /Applications/XAMPP/bin/php connect.php
報(bào)錯(cuò)做修,百思不得其解霍狰。最后意識(shí)到抡草,在CentOS上操作習(xí)慣了,CentOS上默認(rèn)配置好了蔗坯,或者別人配置好的康震。但是這里安裝的XAMPP,默認(rèn)沒(méi)有配置宾濒。用下面的命令就不報(bào)錯(cuò)了:
/Applications/XAMPP/htdocs/code /Applications/XAMPP/bin/php connect.php
val1/Applications/XAMPP/xamppfiles/htdocs/code/connect.php:15:
string(1) "6"
/Applications/XAMPP/htdocs/code