展开目录
php5.2.17 curl openssl的配置踩坑
php5.2php
X
陈尼玛的博客
记录开发生涯的踩坑经历,用时间来验证成长
加载中

这个问题表现为,一旦调用curl去获取https的网址就会爆出502的错误。起初我一直以为是openssl的配置有问题,然后花了一上午在找php5.2 openssl的patch。然并卵。。

我用这段代码测试curl的功能:

<?php

#phpinfo();die;

//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "https://xdelve.com");
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);
die;

直接命令行调试:

/website/xdelve/plug/php52/bin/php /website/userdata/site/52test.php52/index.php

而执行结果一直是 segmentation fault (core dumped)


上google搜了一上午,关键字是php 5.2 OpenSSL 502,偶然在一个不起眼的搜索结果中看到了一句话:

php5.2版本的curl的加密协议不是openssl二是NSS,怎么设置?

原文

再去对比一下phpinfo中的curl信息,果然是NSS,而之前用lnmp一键安装的里面则是OpenSSL。WTF!

。。。

带着试试看的心态,我再次google了php 5.2 curl NSS OpenSSL的解决方案。看到了 centos curl版本nss改成openssl。看时间此文有点老了,用的curl库还是35版本的,不过这不影响结果。我按照他的方式重新安装了curl。

wget http://curl.haxx.se/download/curl-7.35.0.tar.gz
tar -zxvf  curl-7.35.0.tar.gz
cd curl-7.35.0
./configure --prefix=/usr/local/curl --without-nss --with-ssl
make install

然后重新编译php5.2.17:

 ./configure --prefix=/website/xdelve/plug/php52 --with-config-file-path=/website/xdelve/plug/php52/etc --with-mysql --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --with-iconv==/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --with-mime-magic
make install

这次测试代码结果总算正确了。


此坑踩得我实在吐血,究竟什么时候才可以彻底抛弃php5.2。也许这么不切实际的想法就和什么时候能彻底抛弃ie一样吧。

相关文档

暂无

随便看看

  1. windows电脑防止自动休眠

  2. cnpm 立即同步

  3. mac ssh透过代理连接

  4. word文件命令行打印

  5. nodejs 长连接

  6. 树莓派实现用pi用户自动登录

  7. python 用摄像头拍照并写入文件

  8. 搜索命令整理

  9. 判断变量是否 0 或者 '0'

  10. heroku查看app使用时间

  11. npm设置仓库地址和代理

  12. 单页应用的单向数据流的流程图

  13. webpack使用外部资源

  14. ssl 证书生成方式

  15. python下载文件,带进度条控制

  16. mysql导出csv文件

  17. sendmail用nginx做代理

  18. 树莓派配置收发邮件

  19. youku电脑版跳过广告代码

  20. 感谢beego陪伴我度过那不靠谱的半年

畅言模块加载中