其实对于 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./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 ()

可以先结束进程再启动:

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./bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make && make install

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

Linux 下配置 phpredis 的过程和遇到的问题的更多相关文章

  1. Linux下配置JDK

    下面以CentOS为例,详细说一下Linux下配置JDK的过程 首先按照约定俗成的习惯,将jdk放在/usr/local/java下,首先进入/usr/local然后新建一个目录java 然后我们需要 ...

  2. 【数据库开发】在Windows上和Linux上配置MySQL的过程

    [数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...

  3. linux下配置tomcat集群的负载均衡

    linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...

  4. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  5. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  6. Linux下配置Lamp

    linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...

  7. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  8. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

  9. Linux下配置Tomcat服务器

    Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安 ...

随机推荐

  1. hexo主题选择和配置

    之前用next主题,发现文章标题都是h2,不利于seo,想着通过改模板改成h1的,发现很繁琐.今天发现,通过下载指定版本的next后,标题自动是h1的. 参考网页https://notes.iissn ...

  2. textarea随内容自动增加高度

    var autoTextarea = function (elem, extra, maxHeight) { extra = extra || 0; var isFirefox = !!documen ...

  3. 纯洁CSS3实现图片墙

    预赛 DIV+CSS基金会 CSS3的transform 和 transition说明 主要用于transform的rotate/scale 动画过渡的几个參数(transition-property ...

  4. HDOJ 4901 The Romantic Hero

    DP....扫两次合并 The Romantic Hero Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 ...

  5. MacOS系统升级后,IDEA的SVN不好用的问题

    最近给MacOS升级到10.13.2(High Sierra). 结果,发现IDEA的SVN不好用了.   提示如下: 查看IDEA的Subversion设置应该是这个样子的:   但是,设置后没有效 ...

  6. Java编程思想学习笔记-使用显式的Lock对象

    若要保证后台线程在trylock()之前运行得到锁,可加“屏障”,如下1,2,3步,而trylock()不管设定时间与否都不会阻塞主线程而是立即返回: //: concurrency/AttemptL ...

  7. 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片

    原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉.下面使用将Ima ...

  8. 希尔伯特空间(Hilbert Space)

    欧氏空间 → 线性空间 + 内积 ⇒ 内积空间(元素的长度,元素的夹角和正交) 内积空间 + 完备性 ⇒ 希尔伯特空间 0. 欧几里得空间 欧氏空间是一个特别的度量空间,它使得我们能够对其的拓扑性质, ...

  9. DNS查询工具:host、nslookup、dig

    作者:zhanhailiang 日期:2014-11-01 1. host host提供域名到IP地址的双向解析: host默认通过/etc/resolv.conf读取Name Server来解析,除 ...

  10. WPF中Polyline拐角的bug

    原文:WPF中Polyline拐角的bug       Polyline绘制折线在小角度(比如几度)的时候会出现不连续的现象,形成拐角的两条线段中有一段会超出,角度越小越明显.       问题如下图 ...