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