今天配置 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