PHP扩展Redis全攻略(Linux下)
admin
2023-07-04 12:04:23
0

翻遍网上各种各样的安装教程,问题不断。

折腾两天后终于搞定这玩意,

在此,将遇到的一些可以避免的弯路给大家总结出来。


php安装目录缺少文件夹的同学!安装完phpredis后phpinfo中没有redis扩展的同学!来瞧一瞧说不定能解决你的问题!


以下用红色标注的是我卡了很久的地方


一、安装php(如果php有问题建议删掉重装)

*1,首先从官网http://cn2.php.net/downloads.php 下载php源码后解压,

*2,编译安装php(make install需要root)

# cd /php-NN    (PHP解压目录,即源码目录)

# ./configure   --prefix=/usr/local/php --with-mysql=mysqlnd --with-mysqli=mysqlnd  --with-pdo-mysql=mysqlnd  --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-mcrypt  --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-ftp --with-apxs2=/usr/local/apache2/bin/apxs

(*注意此步的config需要许多参数,否则make install后的安装目录将缺少很多文件夹。

config执行的过程中注意看最后一步是否出现error,如果出现则说明缺少一些php需要的包。

比如jpeg,png,prce等,将错误复制到google查一下然后下载对应的包即可。)

# make

# make install   (这个命令执行后系统将在/usr/local下创建php的安装目录)


到此需要注意两个目录,一是php的源码目录(应该是在/home/xxx下),二是php的安装目录(在/usr/local下


*3,配置php.ini

# cp php.ini-development /usr/local/lib/php.ini  (别忘了)

# vim /usr/local/lib/php.ini

在其中加入一句(随便在哪加都可以,网上有中说法是要加[redis],其实都一样):

extension=redis.so


二、安装redis

*1,下载redis

# wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz

*2,安装

# cd ./redis-NN

# make

这样就将redis安装好了

可以通过/src/redis-server打开redis



三、将php扩展redis模块

*1,到https://github.com/nicolasff/phpredis/下载phpredis最新版

*2,将刚下好的压缩包解压到php源码目录下的ext中,即/home/xxx/php-NN/ext/phpredis

# mv   phpredis-NN   php-NN/ext/phpredis

*3,将phpredis加入php拓展模块

# /usr/local/php/bin/phpize  (如果在编译php时configure没有加足够的参数可能会在目录下缺少phpize)

# ./configure --with-php-config=/usr/local/php/bin/php-config (同样后面参数也很重要)

# make

# make install

*4,重启服务器(apache或nginx)

这样在phpinfo中就能看到redis扩展了

PHP扩展Redis全攻略(Linux下)

最后打开redis(/src/redis-server)

用以下代码测试是否可以工作

  1.       $redis= newRedis();

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

  3.       $redis->set('name','xxx');

  4.       echo$redis->get('name');

  5. ?>

如果遇到Fatal error: Uncaught exception 'RedisException' with message 'Redis server went away'的问题那是因为你没有打开redis


最后祝大家早日解决自己的问题!

相关内容

热门资讯

原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...
谁在对台湾“温水煮青蛙”? 近一段时间以来,两岸的舆论场都非常热闹,但话题却不尽相同。先看看岛内,马英九基金会的“家变”愈演愈烈...
上海磁骋取得超级电容主动均衡电... 国家知识产权局信息显示,上海磁骋交通科技有限公司取得一项名为“一种超级电容主动均衡电路”的专利,授权...
超市运送猪肉时,一只狗跑来啃食... 5月31日,湖北孝昌的网友发布视频称,一家超市在运送猪肉时,肉从车上搬下来后,一只黑色的狗跑来啃食猪...