其实对于 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. 利用navicat写mysql的存储过程

    最近项目经理让我给新的活动的预留一个插入红包和查看详情的sql,方便在项目出问题的做一些紧急操作,我想了下这里面还涉及到挺多逻辑和挺多表的一句句查也不方便啊,干脆写到存储过程里,于是开始在navica ...

  2. git安装使用详解

    Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何 ...

  3. Function函数

    一般大家都用这个写法来定义一个函数: function Name([parameters]){ functionBody }; //alert(typeof Name) // Function 当我们 ...

  4. ik_max_word ik_smart

    打开 ~/es_root/config/elasticsearch.yml 文件,加入以下配置: index: analysis: analyzer: ik_syno: type: custom to ...

  5. ICO图标在线生成,php生成ICO图标在线制作源码

    我们做web系统的时候,每个浏览器的tab这里都会有一个图标,这个图标叫favicon图标,favicon.ico文件放在系统的根目录 如果程序员没有ICO制作工具,那么要如何生成图标呢?可以用程序来 ...

  6. QWidget之Alien与Native小记(果然是DirectUI的方式,QWidget居然提供了nativeParentWidget函数,而且可以动态设置native父窗口)good

    在QWidget 之paint部分杂记提到了从Qt4.4开始,Alien Widget被引入.那么...这是什么东西呢,我们在使用中又可能会感受到什么东西? 用例子来说话似乎比用源码来说话来得容易,所 ...

  7. Java--ConcurrentHashMap原理分析

    一.背景: 线程不安全的HashMap     因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap.   效率低下的H ...

  8. 1.4微服务前奏 netcore学习

    1.要让vs2017能够选择.net core 2.1版本,只需要安装.net core2.1的sdk安装包就行了 官方地址:https://www.microsoft.com/net/learn/g ...

  9. Spring Assert.notNull--IllegalArgumentException

    Exception in thread "main" java.lang.IllegalArgumentException: Source must not be null at ...

  10. VC中引用第三方库,常见的库冲突问题

    Q:VC中引用第三方库,常见的库冲突问题 环境:[1]VS2008 [2]WinXP SP3 A1(方法一): [S1]第三方库(Binary形式的)如果同主程序冲突,则下载第三方库的源码[S2]保持 ...