liunx 配置 php curl 拓展库的方法

今天配置 php 的curl拓展。第一次配置,还不会,我就百度很多方法,但是发现网上抄袭太严重了,一个方法被转载了好多个网站,关键的是还写的不对。经历了长达4个多小时的折磨 终于配置成功。方法记录如下

首先是先下载 curl 拓展库

wget https://curl.haxx.se/download/curl-7.53.1.tar.gz&&tar -zxf curl-7.53.1.tar.gz

./configure --prefix=/usr/local/curl(进入到解压的目录里面)

make & make install

上面步骤是安装好 curl拓展。

然后测试 curl 这个命令能用不, curl http://www.5284.net  我的机器就报了 

curl: (2) Failed Initialization

别怕 ,在装一遍,在加个参数 confure的时候加上  ./configure --prefix=/usr/local/curl --disable-shared

然后就可以用了。

继续往下走

编译PHP

这一步我都被逼疯了,网上的方法好多混淆的,还说的不清楚。

找到PHP的源码路径

---------------------------------

root目录下cd lnmp1.3-full

cd src  ls php*

cp php-7.0.7.tar.gz /var/tmp/

cd /var/tmp/

tar -xvf php-7.0.7.tar.gz

 cd php-7.0.7

 

------------------------------------

首先确定 你的php安装目录 例如我的  /usr/local/php/

然后找到你的PHP源代码目录。是源代码目录哦。例如我的版本是5.4  var/tmp/php-5.4.45/

进入php源代码目录后有一个 ext目录 进入  /var/tmp/php-5.4.45/ext/curl/ 最后进入到curl目录下

接下来就是 调用phpize程序生成编绎配置文件 命名  /usr/local/php/bin/phpize

[说明]phpize 

(phpize是用来扩展php模块的,通过phpize可以建立php的外挂模块,无论是编绎生成的php,还是通过yum ,apt-get,brew自动安装的php,都会生成一个phpize程序,

phpize是编绎安装时候生成好的,文件中记录了当时安装的一些信息,并不能从其他地方拿个phpize来使用,在使用时需要找到自己对应php版本的phpize,当php编译完成后,php安装目录下的bin目录下会有phpize这个脚本文件。所以是去安装好的php安装目录去找)

 生成configure配置文件时,使用--with-php-config=/usr/local/php534/bin/php-config来指定phpize要建立基于哪个php版本的扩展,关于php-config文件:是在php编译生成后(安装好),放在安装目录下的一个文件。打开phpize文件内容会发现,里面定义好了php的安装目录等变量

如果 执行了  /usr/local/php/bin/phpize  没有反应 提示你这是一个目录 那就是需要安装一个   yum install php-devel

这个会当前目录生成一个configure配置文件

3.调用configure生成Makefile文件,然后调用make编绎,make install安装

 如输入: ./configure --with-php-config=/usr/local/php/bin/php-config

回车再输入make&make install

回车会生成一个curl.so文件

 事情并不是一帆风顺的,果然又除了幺蛾子,提示了一个报错,不要怕 将 make clean  执行一下,然后再继续 

如输入: ./configure --with-php-config=/usr/local/php534/bin/php-config

回车再输入make&make install

OK 大功告成,生成了一个 curl.so文件,梦寐以求的啊。

接下来就是 cp curl.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/(这个路径,每个人的不一样哈但是前面肯定一样)

拷贝curl.so文件在php扩展目录(可以通过在php.ini文件中查看扩展目录,也可以打印phpinf()这个函数来查看php扩展安装目录),在php.ini文件中加入

修改扩展库目录extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/"(可以通过在php.ini文件中查看扩展目录,也可以打印phpinf()这个函数来查看php扩展安装目录);

添加curl扩展extension = curl.so

结果 报错了

 哎 苦命人啊 

继续

上面的问题也终于被我解决了,报错的意思是没有找到路径。这里需要把 动态库的路径放到/etc/ld.so.conf中   然后再ldconfig

 ldconfig ,简单的说,他的作用就是将/etc/ld.so.conf列出的路径下的库文档缓存到/etc/ld.so.cache 以供使用 
到此 重启PHP  基本就搞定了curl的拓展
 
 

 

posted @ 2017-03-08 18:13  在下刘彦直  阅读(3191)  评论(0编辑  收藏  举报