ホームページ  >  記事  >  php教程  >  php用file_get_contents和curl请求https页面会报502错误

php用file_get_contents和curl请求https页面会报502错误

WBOY
WBOYオリジナル
2016-06-06 20:13:103997ブラウズ

发现php里获取https内容有问题,所以查了很多资料,发现确实有这个问题,也同时对比了一下,想尝试解决这个问题。 phpinfo里打印的curl的信息: libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 以前正常的服务器的curl信息: libcurl/7.15

发现php里获取https内容有问题,所以查了很多资料,发现确实有这个问题,也同时对比了一下,想尝试解决这个问题。

phpinfo里打印的curl的信息:
libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2

以前正常的服务器的curl信息:
libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5

测试过同样的代码,http请求没有问题,https请求,网页直接返回502错误
后面一个文章提示 fastcgi_param的问题,测试过没有效果。

怀疑是curl和openssl的问题,因为版本里是NSS,不是OpenSSL
这有一份对比 http://curl.haxx.se/docs/ssl-compared.html

想着试试重新安装curl和openssl
参考这个:linux php源码包 安装openssl 和curl 扩展  
http://yonghui702.blog.163.com/blog/static/81718342013111953738670/

安装过后,配置php.ini,重启php,也没有发现curl的信息发生改变
测试结果也没有正常

也有yum安装更新了curl和openssl,没感觉有效

strace跟踪一下php的进程,也不太会看,但不知道为啥,后面是正常了
看phpinfo的信息倒是没变

本文没有查到明确的解决方式,只是多尝试了几个方式,没有明确哪个产生了解决效果
所以,纯当参考吧

更多参考:
http://bbs.51cto.com/thread-1077956-1-1.html
http://stackoverflow.com/questions/17439199/php-fpm-crashed-when-curl-or-file-get-contents-request-a-https-url
https://bugs.php.net/bug.php?id=19301
https://bugs.php.net/bug.php?id=47616
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。