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 的拓展