Linux下为PHP添加扩展库的方法

加上会出什么问题,不加会报什么错;所以在编译PHP的时候除了必要的目录指定,好多参数都没有加……等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装。。于是就在网上找到了此文

一、添加FTP扩展

1、找到原来的源码包解压一下
如:php-5.2.13
进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp

2、调用phpize程序生成编译配置文件


代码如下:

root@dns ftp]# /usr/local/php5/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

3. 编译扩展库,分别执行下面的configure和make命令。

#./configure --with-php-config=/usr/local/php5/bin/php-config

#configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。

#make

#make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,


代码如下:

[root@Ansen ftp]# ls modules/
ftp.la ftp.so

4、编辑php.ini文档,创建extension_dir的目录,将编译好的扩展文件复制到extension下面

将extension_dir = "./" 改成


代码如下:

extension_dir = "/usr/local/php5/lib/php/extension"

代码如下:

[root@Ansen modules]#cp ftp.so /usr/local/php5/lib/php/extension

5、在php.ini的添加扩展库位置,设置要添加的扩展库。
在989处添加 extension=ftp.so

6、重启一下apache 就可以得到ftp的支持了

二、添加zlib扩展

代码如下:

[root@Ansen zlib]# pwd
/root/lnmp/php-5.3.0/ext/zlib
[root@Ansen zlib]#mv config0.m4 config.m4
[root@Ansen zlib]#/usr/local/php5/bin/phpize
[root@Ansen zlib]#./configure --with-php-config=/usr/local/php5/bin/php-config
[root@Ansen zlib]#make
[root@Ansen zlib]# cp modules/zlib.so /usr/local/php5/lib/php/extension/
[root@Ansen zlib]#vi /usr/local/php5/lib/php.ini
添加extension=zlib.so

8、重启apache就可以了

PS:其它扩展可以参考上面两种扩展的方法进行安装

补充简洁版:

一开始编译php的时候,忘了,现在用phpize安装扩展库进行添加
找到当前运行的php版本的源代码目录,如 php-5.2.12。进入curl扩展库目录
#cd /home/changyou/php-5.2.12/ext/curl
(调用phpize程序生成编译配置文件)
#/usr/local/web/php/bin/phpize
(编译扩展库,分别执行下面的configure和make命令)
#./configure –with-php-config=/usr/local/web/php/bin/php-config
(configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因)
#make
make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下
如我这里的目录是:/home/changyou/php-5.2.12/ext/curl/modules/curl.so
然后配置php.ini文件,将编译好的扩展库文件复制到php的extension目录下
#cp /home/changyou/php-5.2.12/ext/curl/modules/curl.so /usr/local/web/php/lib/php/extension/
最后修改 php.ini 添加配置
extension_dir = “/usr/local/web/php/lib/php/extension/”
extension=curl.so

Done!!!

(0)

相关推荐

  • linux shell数组深入学习理解

    bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 数组赋值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1    arrya[1]=var2    ...    array[n]=varN 计算数组元素个数:${#

  • Python执行Linux系统命令的4种方法

    (1) os.system 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 复制代码 代码如下: system(command) -> exit_status Execute the command (a string) in a subshell. 如果再命令行下执行,结果直接打印出来 复制代码 代码如下: >>> os.system('ls') 04101419778.CHM   bash      document    media      py-django

  • Linux ls命令参数详解

    -a -- 全部(all).列举目录中的全部文件,包括隐藏文件(.filename).位于这个列表的起首处的 .. 和 . 依次是指父目录和你的当前目录.      -l -- 长(long).列举目录内容的细节,包括权限(模式).所有者.组群.大小.创建日期.文件是否是到系统其它地方的链接,以及链接的指向.      -F -- 文件类型(File type).在每一个列举项目之后添加一个符号.这些符号包括:/ 表明是一个目录:@ 表明是到其它文件的符号链接:* 表明是一个可执行文件.    

  • linux shell脚本学习xargs命令使用详解

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子. 1.

  • Linux 详解 /var/log/xferlog的各个字段解析

    Linux 详解 /var/log/xferlog的各个字段解析 /var/log/xferlog的各个字段解析 Thu Dec 1 17:40:46 2016 8 10.11.40.147 32035942 /home/chb/1.txt b _ o r dxpanalysis ftp 0 * c 字段 含义 Thu Dec 1 17:40:46 2016 日期和时间 8 下载文件所花费的秒数 10.11.40.147 远程系统 320359 文件大小 /home/chb/1.txt 本地路径

  • linux Apache CGI 安装配置

    本文假定你已经安装好linux(本文的linux版本为Fedora Core3), 并具有root权限. 1,安装apache 首先到apache的主页下载最新版本的apache http server,地址为 http://httpd.apache.org/ 本文写于2006.4.29,apache版本为2.2.0 .如果你也想用这一个版本的话请点击:http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.0.tar.gz 安装apache: 切换到

  • Linux下MySQL安装配置 MySQL配置参数详解

    一.下载编译安装 #cd /usr/local/src/ #wget http://mysql.byungsoo.net/Downloads/MySQL-5.1/mysql-5.1.38.tar.gz #tar –xzvf mysql-5.1.38.tar.gz ../software/ #./configure --prefix=/usr/local/mysql //MySQL安装目录 --datadir=/mydata //数据库存放目录 --with-charset=utf8 //使用UT

  • Linux系统下如何查看及修改文件读写权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是类型 中间那三个 rw- 代表的是所有者(user) 然后那三个 rw- 代表的是组群(group) 最后那三个 r-- 代表的是其他人(other) 然后我再解释一下后面那9位数: r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话)

  • Linux下为PHP添加扩展库的方法

    加上会出什么问题,不加会报什么错:所以在编译PHP的时候除了必要的目录指定,好多参数都没有加--等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装..于是就在网上找到了此文 一.添加FTP扩展 1.找到原来的源码包解压一下如:php-5.2.13进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp 2.调用phpize程序生成编译配置文件 复制代码 代码如下: root@dns ftp]# /usr/local

  • linux下为php添加iconv模块的方法

    ./configure --with-mysql=/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --enable-gd-native-ttf --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets --with-iconv make时提示: 复制代码 代码如下: .............

  • linux下为nginx添加jvmroute模块的方法

    复制代码 代码如下: cd /optwget http://nginx.org/download/nginx-1.2.8.tar.gztar zxvf /opt/nginx-1.2.8.tar.gzwget https://nginx-upstream-jvm-route.googlecode.com/files/nginx-upstream-jvm-route-0.1.tar.gztar zxvf /opt/nginx_upstream_jvm_routecd /opt/nginx-1.2.8

  • Linux下php安装Redis扩展的方法

    本文实例讲述了Linux下php安装Redis扩展的方法.分享给大家供大家参考,具体如下: 注意:目录的权限   chomd 777 -R 1.安装redis 下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz 上传phpredis-2.2.4.tar.gz到/usr/local/src目录 cd /usr/local/src #进入软件包存放目录 tar zxvf phpredis-2.2.4.tar.gz #解压 cd

  • linux下php安装xml扩展的详细步骤

    php linux下安装xml扩展 1.进入PHP安装源码包,找到ext下的ftp,进入 cd /home/local/php-5.6.25/ext/xml 2.第二步 /usr/local/php/bin/phpize 3.第三步 ./configure --with-php-config=/usr/local/php/bin/php-config 4.第四步 make && make install 5.第五步 cp /usr/local/php/lib/php/extensions/

  • Linux下安装PHP curl扩展的方法详解

    本文实例讲述了Linux下安装PHP curl扩展的方法.分享给大家供大家参考,具体如下: 今天开发时遇到这样的一个问题,就是如何在Linux下安装PHP的curl扩展,我的LNMP环境都是原先进行编译安装了的,不是使用YUM方式安装的. 我的环境: Linux:CentOs 6.4 PHP:5.6.30 解决方法: 1.进入PHP源码目录,就是之前将PHP下载到服务器并解压的地址 cd /usr/local/src/php-5.6.30 2.进行PHP源码目录下的ext/curl cd ext

  • 详解Linux下调试器GDB的基本使用方法

    一.概述 GDB调试的三种方式: 1. 目标板直接使用GDB进行调试. 2. 目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端. 3. 目标板使用ulimit -c unlimited,生成core文件:然后主机使用xxx-linux-gdb ./test ./core. 二.gdb调试 构造测试程序如下main.c和sum.c如下: main.c:#include <stdio.h> #include <stdlib.h> extern int sum(

  • Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)

    MariaDB数据库 分为源代码版本和二进制版本,源代码版本需要cmake编译,这里是二进制版本的安装 # tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz # mv mariadb-5.5.31-linux-x86_64 /usr/local/MySQL (必需这样,很多脚本或可执行程序都会直接访问这个目录) # groupadd mysql 增加 mysql 属组 # useradd -g mysql mysql 增加 mysql 用户 并归于mysql

  • Linux下对各种压缩文件的处理方法

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法: tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下: # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包.-c是表示产生新的包,-f指定包的文件名. # tar -rf all

  • Linux下挂载硬盘分区的几种方法

    Linux下挂载硬盘分区的几种方法 1.使用Autofs自动挂载分区 2.修改/etc/fstab 3.编写shell脚本,开机自动运行mount命令 方法一.使用Autofs  1.Autofs的特点:Autofs与Mount/Umount的不同之处在于,它是一种看守程序(deamon).如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系 统,如果该文件系统存在,那么Autofs会自动将其挂接.另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么Auto

随机推荐