lnmp下用phpize动态安装PHP模块/扩展(不需要重装PHP)
安装前
安装前建议先执行 /usr/local/php/bin/php -m (此命令显示目前已经安装好的PHP模块)看一下,要安装的模块是否已安装。然后下载当前PHP版本的源码并解压。
本文以imap和exif模块为例,进入php源码目录下ext,里面会有大部分模块的源码。
一、安装imap模块
1、安装imap模块前需要先安装imap所需的库:
CentOS :yum install libc-client-devel
Debian:apt-get install libc-client-dev
2、首先进入php安装目录的ext目录
比如php的源码目录为:/root/lnmp0.4-full/php-5.2.10/
则执行:cd /root/lnmp0.4-full/php-5.2.10/ext/
我们要安装imap模块,执行cd imap/
再执行 /usr/local/php/bin/phpize 会返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再执行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
[root@vpser imap]# make && make install
执行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已经成功,再修改/usr/local/php/etc/php.ini
查找:extension_dir 再下面一行添加上extension = "imap.so"
保存,执行/etc/init.d/php-fpm restart 重启。
在浏览器里面输入http://ip/p.php,打开探针,安装IMAP模块前:

安装IMAP模块后:

二、安装exif模块
安装exif不需要另外安装库,所以省略掉了安装库的步骤。
比如php的安装目录为:/root/lnmp0.4-full/php-5.2.10/
则执行:cd /root/lnmp0.4-full/php-5.2.10/ext/
我们要安装exif模块,执行cd exif/
再执行 /usr/local/php/bin/phpize 会返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再执行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@vpser imap]# make && make install
执行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已经成功,再修改/usr/local/php/etc/php.ini
查找:extension = 再最后一个extension= 后面添加上extension = "exif.so"
保存,执行/etc/init.d/php-fpm restart 重启。
在/home/wwwroot/下面创建一个exif.php的文件,内容如下:
<?php
$exif = read_exif_data ('IMG_0001.JPG');
while(list($k,$v)=each($exif)) {
echo "$k: $v<br>\n";
}?>
其中IMG_0001.JPG为照片文件。
未安装exif模块前:

安装exif模块后:

可以读出照片的exif信息。
安装其他模块也基本上都是这两种方式,当./configure --with-php-config=/usr/local/php/bin/php-config 执行这个的时候是会检查系统上库是否安装上,如果没有安装上就会报错,按错误提示安装相关的库就行。
转载:http://www.vpser.net/manage/lnmp-php-install-ext.html
使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。
我没有在手册中看到。
如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)
幸好有phpize,
方法是,要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。
展开后进入里面的ext/bcmath目录
然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,要确保它在系统中
会发现当前目录下多了一些configure文件,
如果没报错,则
Php代码
./configure --with-php-config=/usr/local/php/bin/php-config
注意要先确保/usr/local/php/bin/php-config存在。
如果你的php安装路径不是默认的,要改。
如果没有报错,则make,再make install ,然后它告诉你一个目录
你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,
修改php.ini,在最后添加一句extension=bcmath.so
重启apache.
转载:http://www.cnblogs.com/mrcoke/articles/2351878.html
lnmp下用phpize动态安装PHP模块/扩展(不需要重装PHP)的更多相关文章
- Win7下Python2.7环境安装paramiko模块
Win7下Python2.7环境安装paramiko模块,经过安装并测试成功,整理文档如下: 1.下载安装Windows版本的Python2.7,我默认装在C:\Python27 我的python已经 ...
- Ubuntu14下LAMP环境的安装以及yaf扩展的安装
前段时间在ubuntu下安装了lamp环境,记录一下安装过程方便以后查阅. 安装lamp环境 ① 安装apache sudo apt-get install apache2 系统会弹出如图所示的提示, ...
- LNMP平滑升级nginx并安装ngx_lua模块教程
#ngx_lua module项目地址 https://github.com/chaoslawful/lua-nginx-module 在LNMP安装包后,重编译nginx,并添加ngx_lua模块 ...
- LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)
FTP是网站文件维护中使用比较多的,目前LNMP一键安装包中有Pureftpd和Proftpd服务器安装脚本,LNMP默认不安装任何FTP服务器,需要用户自行安装(1.2开始不再提供proftpd的安 ...
- 在linux下查看python已经安装的模块
一.命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交互解释器中使用help()查看 python--->在交互式解释器中输入>> ...
- windows环境下无法引用全局安装的模块问题
问题 在node项目中,往往需要安装一些依赖的包,通常我们采取全局安装的方式,来减少一些包重复安装带来的烦恼. 但是全局安装后出现无法使用的情况,可能是你NODE_PATH没有设置或者不正确造成的. ...
- mac下使用opencv编译安装新模块contrib
opencv-4.0.1 opencv_contrib-4.0.1 提供ippicv下载链接: https://pan.baidu.com/s/1OIJRUqPqAtpMetku8qX36w cont ...
- linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)
由于我先安装的php,再安装的mysql! 正常过程: 1.安装mysql 2.安装php configure时带–with-mysql参数 现在我不想重装,因此使用phpize动态安装mysqli, ...
- CentOS 7.4下源码编译安装配置LAMP环境详解
CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录:第一部分 准备工作第二部分 安装Apache服务第三部分 安装MySQL服务第四部分 搭建PHP运行环 ...
随机推荐
- find your present (2)
Problem Description In the new year party, everybody will get a "special present".Now it's ...
- solr查询在solrconfig.xml中的配置
<requestHandler name="/select" class="solr.SearchHandler"> <lst name=&q ...
- 【阿里云产品公测】阿里云ACE配置全程图解,详细到不行!
作者:阿里云用户sofia 看过阿里云社区的其他技术大姥们的评测教程,感觉还是不够详细,对于一个第一次接触ace.新浪sae这类的应用来说还是比较陌生的.我最喜欢写教程了,不过我有我的风格,那就是简单 ...
- 《Cortex-M0权威指南》之体系结构---系统模型
转载请注明来源:cuixiaolei的技术博客 Cortex-M0体系结构包括:系统模型.存储器映射.异常中断.这篇文章主要讲解Cortex-M0的系统模型. 操作模式和状态 如上图所示,Cortex ...
- 要检测两个C文件的代码的抄袭情况
将抄袭部分输出 如果只是变量名替换了 也算抄袭 如果输入了一些干扰代码以防止被检测出来 也算抄袭专业程序代写c++程序代写
- 精通C#(第6版)
<精通C#(第6版)> 基本信息 原书名:Pro C# 5.0 and the .NET 4.5 framework,sixth edition 作者: (美)Andrew Troelse ...
- hdu-5597 GTW likes function(欧拉函数+找规律)
题目链接: GTW likes function Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (J ...
- poj 2455 Secret Milking Machine 二分+最大流 sap
题目:p条路,连接n个节点,现在需要从节点1到节点n,不重复走过一条路且走t次,最小化这t次中连接两个节点最长的那条路的值. 分析:二分答案,对于<=二分的值的边建边,跑一次最大流即可. #in ...
- 转:基于TLS1.3的微信安全通信协议mmtls介绍
转自: https://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=2649286266&idx=1&sn=f5d049033e ...
- 你如何理解HTML结构的语义化?
去掉或样式丢失的时候能让页面呈现清晰的结构: html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗:<strong>是加粗的,不要认为这是html的表现, ...