Linux 下配置 phpredis 的过程和遇到的问题

其实对于 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!

时间: 2024-11-08 20:36:36

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

Linux下安装Oracle11G R2过程中遇到的问题

Linux下安装Oracle11G R2过程中遇到了几个问题,希望对大家有所帮助. 如何在linux图形化安装oracle?? 解决方法和思路: 1)可以通过安装VNC服务. 2)如果你在服务器离你很近,你直接在桌面下安装即可.(前提是linux安装了图形化桌面程序) 3)通过Xmanager Enterprise直接远程调用桌面来安装. 我采用第三种 2.   Oracle界面乱码,出现各种方格子?? 原因及解决方法:系统语言环境及字体问题. 可以安装中易宋体18030,可以解决乱码问题:或者

linux下配置LAMP开发环境,以及常用小细节

本来安装没什么可说到.但是在linux当中容易会出现各种各样到问题.我安装以后导致各种问题 比如php无法正常解析,数据库无法关闭,Apache无法开启等等........ 所以搞得我比较郁闷,现在把过程分享下,大家不要在走弯路 最后按照这个顺序来装,避免出问题 [plain] view plaincopy sudo apt-get install mysql-server-5.0 sudo apt-get install apache2 sudo apt-get install php5 li

深入理解MongoDB(一)Linux下配置MongoDB全攻略

一 MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,Mongo使用C++开发.Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息. 特点: 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支持查询.

Linux下安装Oracle的过程和涉及的知识点-系列6

16.一路安装后,会提示以下界面,此时需要用root登录以下目录,然后执行这两个脚本. 至此,Oracle软件的安装就已经完成了,接下来就可以创建数据库了. 17.选择自定义数据库: 输入数据库名称和SID,一般两者相同: 不配置EM工具: 输入数据库文件所在路径(这里的名称可能有些歧义,路径下是所有数据库文件,不是仅指数据文件): 此处选择归档日志的路径和文件名:(从提示可以知道闪回区默认存放路径是{ORACLE_BASE}/flash_recovery_area,但如果定义了归档日志路径则会

linux下配置apche+php+mysql

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020   最近由于要学习android网络开发,需要用到服务器,所以在linux下配置apche+php+mysql,以下为主要流程,以ubuntu为例. 配置流程: 1. 安装apache 在终端输入 sudo apt-get install apache2 安装完成后,在浏览器中打开http://localhost/或者http://127.0.0.1,如果出现以下界面,那么恭喜

一、掌握Samba服务的配置原理;二、在linux下配置samba共享服务

一.掌握Samba服务的配置原理二.在linux下配置samba共享服务(匿名共享.身份验证.账户映射.访问控制)Samba介绍:Samba是运行在Linux与Unix之上的免费共享服务的软件,是典型服务器/客户端模式,它有两个进程,一个是smbd,主要是用来管理共享文件的进程,另一个是nmbd,用来实现主机名到IP地址的转换(相当于Windows下的NetBIOS的功能),smbd运行在TCP的139.445端口,nmbd则运行在UDP的137.138端口(运行samba服务后可以用如:net

Linux下配置tomcat + apr + native应对高并发

在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,这时并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来. 一.Tomcat运行模式介绍 Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下: (1)BIO    BIO(blocking I/O

Linux下配置Tomcat服务器

Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安装 还是在/usr/local下新建目录tomcat进入后用wget命令下载最新包,tomcat9.0现在已经出来了,但是为了和eclipse项目更好的兼容,建议下载tomcat8.0的最新包 下载好之后进行释放 tar -xzvf apache-tomcat-8.0.30.tar.gz 释放出来之

linux下配置Java和Go环境

重新安装了limux系统,由于长时间没有配置过java环境和Go环境,竟然不知道了都需要哪些东西了,因此就在博客里面总结一下,以免再次忘记,我都配置在/etc/profile文件里面,以前用Ubuntu时,配置在.bash_profile文件中,进不去图形界面,只好配置在/etc/profile文件中: 首先配置java环境: export JAVA_HOME=/usr/local/jdk1.7.0_65 export PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/b