欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-04-05 07:56:08
...

发现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://*.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