解决PHP编译cURL的reinstall the libcurl问题
提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!
今天正好要用到PHP的curl功能,发现服务器上的PHP并没有配置curl,进而 查询PHP官方文档 ,得知编译PHP时需要带上 --with-curl 参数,才能把curl模块编译进去。我现在PHP已经编译安装进服务器了,不想再重新编译了,于是参考下面有网友评论的办法,单独编译curl模块,然后 make install 。
首先需要下载官方的PHP源代码,然后定位到扩展目录下的curl,旧版本的PHP扩展目录可能是extensions,新版应该是ext。
cd /tmp
wget http://cn.php.net/get/php-5.3.10.tar.bz2/from/cn2.php.net/mirror
mv mirror php-5.3.10.tar.bz2
tar vxf php-5.3.10.tar.bz2
cd php-5.3.10/ext/curl
phpize
./configure
make install
上面的步骤做完后,再到php.ini添加 extension = curl.so ,可是我在做到./configure出现下面的错误提示:
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
基本上确定是丢失了什么包所致,上网搜索得到需要事先安装的依赖包。
# RetHat CentOS or Fedora 使用下面安装命令
yum install curl curl-devel
# Debian or Ubuntu使用下面的安装命令
apt-get install curl
apt-get install libcurl4-gnutls-dev
不过在搜索的过程中我发现了更方便的办法,在Debian环境下由于我的PHP是通过apt-get获取的,那么同样的curl也可以通过apt-get命令获取:
apt-get install curl
apt-get install php5-curl
呵呵,看来这样方便省事多了,于是就这样安装了,之前的办法就不考虑那,简单最好:-)
最后不要忘记使用 invoke-rc.d php-cgi restart 重启PHP CGI。
还是apt-get方便。
是啊,自己编译虽然定制性比较强,但是还是略显麻烦并消耗时间。apt-get或者yum安装和升级还是比较方便的。
yum 安装php*.rpm会有curl模块吗?
命令
yum -y install php-*
应该可以装上所有以php-
开头的扩展,但不建议这么做,因为PHP加载太多的扩展会影响性能,建议尝试使用直接的yum -y install php-curl
来单独安装cURL模块。