Linux学习总结(三十八)lamp之php扩展模块安装

php动态模块是一个可以看的见的以.so结尾的文件,可以根据需要加载使用。静态模块跟随php一起启动,看不到文件。php一旦编译完成,要想再增加一个功能模块的话,要么重新编译php,要么直接编译一个扩展模块,然后在php.ini中配置一下就可以被加载使用。
/usr/local/php/bin/php -m //查看模块
下面安装一个redis的模块

 cd /usr/local/src/
 wget https://codeload.github.com/phpredis/phpredis/zip/develop
 mv develop phpredis-develop.zip
 unzip phpredis-develop.zip
 cd phpredis-develop
 /usr/local/php/bin/phpize //生成configure文件
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
 /usr/local/php/bin/php -i |grep extension_dir //查看扩展模块存放目录,我们可以在php.ini中去自定义该路径 


此时根据查询出来的路径我们查看下安装的扩展模块
ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226

这时候我们执行/usr/local/php/bin/php -m |grep redis 会发现还没有加载该模块,编辑php.ini,加入该模块
vim /usr/local/php/etc/php.ini //增加一行配置(可以放到文件最后一行)
extension = redis.so
再次查看/usr/local/php/bin/php -m |grep redis

以上我们从网上下载了一个扩展模块,此外我们还可以在本地找到一些可用的模块,在php的源码包里面有一个ext的目录,该目录下有很多扩展模块

当我们需要时也可以用这些模块进行编译安装。具体操作跟上面一模一样。

现在我们总结下整个安装过程
1 进入扩展包文件下,当然如果是压缩文件,先解压
2 执行/usr/local/php/bin/phpize 生成configure文件,如果此时缺依赖包报错,则安装相应包
3 执行源码包安装三部曲./configure --with-php-config=/usr/lcoal/php/bin/php-config,意思是要带上php-config这个配置文件,要更具实际情况来。 make && make install
4 在php.ini 文件中配置安装的模块。格式为extension=模块名

原文地址:http://blog.51cto.com/12606610/2105567

时间: 2024-10-09 18:07:02

Linux学习总结(三十八)lamp之php扩展模块安装的相关文章

linux学习笔记-第十八课-LAMP之环境搭建(一)

一.LAMP搭建前的准备 LAMP是四套软件的缩写,分别指的是L-Linux,A-Apache,M-Mysql,P-php,利用这四套软件搭建的web的运行环境. 搭建前需要需要下载好软件 apache http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz mysql  32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glib

javaweb学习总结(三十八)——事务

一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句  update from account set money=money+100 where name='B';  update from account set money=money-100 where name='A'; 二.MySQL数据库中操作事务命令 1.编写测试SQL脚本,如下: 1 /*创建账户表*/ 2 create table acco

JAVA学习第三十八课(常用对象API)- 集合框架(六)— Map集合及其常用方法

一.Map集合特点 Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素 接口 Map<K,V>,实际上存储的是键值对 特点: 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 也就是说Map中必须保证键的唯一性 二.常用方法 1.添加:value = put(key,value);返回前一个和key相关联的值,如果没有返回null 2.删除:void clear();把Map中的所有映射关系清除 value remove(ke

salesforce 零基础学习(三十八) soql函数以及常量

在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己另外设计. 一. 聚合函数 常用的聚合函数有如下几种: AVG():求平均值 COUNT():求记录个数 COUNT_DISTINCT():求不重复记录个数 MIN():求记录中最小值 MAX():求记录中的最大值 SUM():求和 这些聚合函数通常和group by fieldName 一起用,达

【Unity 3D】学习笔记三十八:角色控制器

角色控制器 在unity中,已经帮我们实现的上下左右跳等动作,并将他们封装成了角色控制器.角色控制器保存在unity标准资源包中,可以说是非常的强大.可以模拟第一或者第三人称视角.不受刚体的限制,非常适用于表现游戏中的主角运动.首先还是导入标准资源包.在project视图中点击右键,选择import package--character controller 第一人称 第一人称好比用自己的眼睛来观察游戏世界.其原理就是控制scene视图中的摄像机的移动,所以屏幕显示永远都是主角正前方的画面. 将

Linux学习笔记(十八) vim(二)、编辑模式、vim实践练习

一. 编辑模式 命令行模式替换时如果需要替换的字符中有/符号,那么可以将分隔符换成#或者@ :1,100s#/good/weer/#well#g 将前一百行中的/good/weer/替换为well,:nohl 取消搜索时的高亮显示,:x也是保存并退出,但是如果并未改动文件内容,:wq会修改mtimex不会修改mtime vim练习 cp /etc/dnsmasq.conf /tmp/1.txt (1) 分别向下.向右.向左.向上移动6个字符(6j 6l 6h 6k).(2) 分别向下.向上翻两页

Linux学习笔记&lt;三十&gt;——httpd配置

ASF:Apache Software Foundation       www.apache.org 开源项目 web:httpd           http://httpd.apache.org tomcat:应用程序服务器 hadoop:并行处理 httpd版本: 2.0稳定版本 2.2流行版本 2.4最新版本 httpd特性: 事先创建进程 按需维持适当的进程 模块化设计,核心比较小,各种功能都通过模块添加(包括php) 支持运行时配置,支持单独编译模块 支持多种方式的虚拟主机配置 虚

PHP学习笔记三十八【下载】

<?php //演示下载一个图片 $file_name="SunSet.jpg"; $file_name=iconv("utf-8","gb2312",$file_name); //对文件名进行处理,因为php对中文支持不够友好[把utf-8 转为 gb2312] //1.打开文件,先判断是否存在 if(!file_exists($file_name)){ echo "文件不存在"; return ; } $fp=fop

linux学习笔记-第二十八课-MySQL主从复制,读写分离配置

MySQL主从配置 配置准备将要配置的数据库进行主从同步,主从的服务器上都要有同一个数据库 一.配置mysql主服务器 [[email protected] ~]# vim /etc/my.cnf .................................... log-bin=mysql-bin     <== 打开日志格式 .................................... server-id=1           <== 主从标记 ............

JAVA学习笔记(三十八)- 创建实现Runnable接口的线程

创建实现Runnable接口的线程 /* * 创建线程方式二:实现Runnable接口 * 步骤: * 1.创建一个Runnable接口的实现类 * 2.实现run方法 * 3.创建一个实现类的实例 * 4.创建Thread实例,将实现类的实例作为参数传入 * 5.调用start方法,启动线程并运行run方法 */ class MyDemo implements Runnable{ @Override public void run() { for (int i = 1; i <= 50; i+