其实对于 Linux 系统和 LNMP 环境并不是很熟,如果有错误请指正。

一、关于 PHP

PHP 的编译参考了此文:http://blog.aboutc.net/linux/65/compile-and-install-php-on-linux

编译完成后通过 phpinfo() 查看发现没有加载到 php.ini 文件(Loaded Configuration File 配置项为 None),需要手动设置,否则后面无法加载 redis 扩展

设置方法为

php-fpm -c /usr/local/php-5.6.21/etc/

(参考:http://blog.csdn.net/haitun312366/article/details/38639129)

二、安装 phpredis

1. 从 git 下载压缩包然后解压到 /usr/local/phpredis

2. 按照官方的说明进行编译

cd /usr/local/phpredis
phpize
./configure [--enable-redis-igbinary]
make && make install

结束以后,会自动把 redis.so 放到 PHP 的 extension_dir。

3. 配置 PHP,编辑 php.ini,增加:

extension=redis.so

保存后,重启 php-fpm:

service php-fpm restart

结束后,通过 phpinfo() 查看是否加载了 redis 扩展。

三、遇到的问题

如果重启 php-fpm 的时候提示:

ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)

可以先结束进程再启动:

killall php-fpm
service php-fpm start

最头疼的问题到了,无法正常加载 redis 扩展:

PHP Warning: PHP Startup: redis: Unable to initialize module
Module compiled with module API=********
PHP compiled with module API=********

Google 了很多都说是执行编译源码包执行 phpize 的版本与当前 php 环境中 phpize 的版本不一致造成的,事实上也的确是这个原因,因为系统之前安装过其他版本的 PHP。

解决的最直接的方法是,配置 phpredis 的时候指定 phpize 和 php-config 的绝对路径:https://segmentfault.com/a/1190000003830937

将上面第二步的部分修改为:

cd /usr/local/phpredis
/usr/local/php-5.6.21/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make && make install

重启 php-fpm,查看 phpinfo(),done!

转载于:https://www.cnblogs.com/roving/p/5508188.html

Linux 下配置 phpredis 的过程和遇到的问题相关推荐

  1. linux c 下信号量 windows下event_windows和linux下配置jdk环境

    一 在linux 下配置jdk 环境 ① 在官网下载安装包,这里如何下载安装包就不一一叙述,下载安装包完成后,使用rz命令上传至linux中.提前在linux中建立一个文件夹 mkdir /usr/l ...

  2. linux 怎么配置apache,在Linux下配置Apache Web服务

    <在Linux下配置Apache Web服务>由会员分享,可在线阅读,更多相关<在Linux下配置Apache Web服务(10页珍藏版)>请在人人文库网上搜索. 1.在Lin ...

  3. linux使用oracal11g详细过程,很给力的linux下Oracle11g的安装过程及图解.doc

    很给力的linux下Oracle11g的安装过程及图解 我的linux版本是centos5.5,内核版本是2.6.18-194.el5 ,linux下安装oracle系统最好是1G内存,2G的swap ...

  4. Linux下配置Popush——陈键

    在这次的大作业中,我就是负责在Linux下配置Popush啦,嗯,一共装了两次系统,从头配了两次.第一次失败是因为在命令行模式下工作时,移动Popush文件夹时少打了一个/,于是本来应该在/Popus ...

  5. linux下配置ipmi ip,Linux下使用命令行配置IPMI

    前段时间,为了方便遥远的另一边干嘛干嘛的,单位部署了IPMI. 我好动,所以就把一些IPMI的操作记了下来,当做日记记了下来.这也是我第一次写关于工作的博文呢,真不习惯啊.也发现了,都不会写东西了,O ...

  6. Linux下配置使用VNC

    1. 在Linux下配置使用VNC 1.1 VNC简介 VNC(Virtual Network Computing,虚拟网络计算机)是一种可以对远程计算机进行远程控制的软件,支持linux远程桌面管理 ...

  7. 在linux下配置网桥透明模式防火墙

    在linux下配置网桥透明模式防火墙 一.透明模式防火墙与透明代理的概念       一般而言,防火墙的两个网络接口应分属两个不同的网络,根据系统管理员定义的访问规则在两个接口之间转发数据包,或者拒绝 ...

  8. linux离线配置qt环境,Linux下配置QT环境

    一.下载Qt源码包到本机,然后解压缩 #tar zxvf qt-x11-opensource-src-4.3.2.tar.gz -C /usr/local //将qt-x11-opensource-s ...

  9. linux下配置jdk环境变量

    linux下安装jdk8并配置jdk环境变量 操作系统:Centos6.4 64位 工具:Xftp5.Xshell5 PS:这里使用的是Oracle的jdk,不是OpenJDK,OpenJDK可以通过 ...

最新文章

  1. clisp语言中的包
  2. MD5算法了解(JAVA实现)
  3. 如何从Amazon API Gateway将查询字符串或路由参数传递到AWS Lambda
  4. FJUT寒假第一周作业浮点数查寻题解
  5. @slf4j注解_SpringBoot + Redis + 注解 + 拦截器 实现接口幂等性校验
  6. 解决firebug报“illegal character错误的问题
  7. 【项目经验】之线程基本知识
  8. linux上用selenium登录新浪微博,获取用户关注的用户id
  9. 记忆化搜索本质是dp
  10. python初体验(2)——面向对象篇
  11. TI DSP 28335 自学之路,到此止步
  12. 51单片机蜂鸣器实验
  13. 利用Python取出excel数据并生成统计图
  14. 【设计相关】UML类图和时序图介绍
  15. 计算机网络原理ospf协议配置思考题,动态路由协议之OSPF理论篇(下)(含虚链路的实验)...
  16. .bat文件注册.ocx+win8开机获得管理员权限+运行程序自动注册.ocx
  17. VC++ 防火墙 Win7 XP MFC
  18. 第7讲 替代定理、戴维南定理、诺顿定理
  19. QT程序打包--教你做一个可安装的应用程序
  20. 程序员都是技术宅?他们完全刷新了我们对程序员的认知

热门文章

  1. Objective-C NSString字符串操作总结
  2. Codeforces Round #494 (Div. 3)
  3. compat mysql51 5.1_MySQL mysql-5.1升级到mysql-5.6
  4. 标准库类型string的基本功能和使用
  5. 滑动窗口最大值--单调队列
  6. 数据结构之基于顺序表的插入排序
  7. 1.2 torch_数据预处理
  8. android发送短信指定收件人,android-发送短信给收件人
  9. word项目符号或编号bullets and numbering
  10. 一个页面是否应该全部组件化