file_get_contents(https:// url)失败

时间:2014-06-25 16:15:37

标签: php ssl file-get-contents

在我在Lighttpd上运行PHP 5.5的Ubuntu 12.04服务器上我有

  • allow_url_fopen On
  • allow_url_include On
  • 支持OpenSSL支持
  • OpenSSL Library / Header Version 1.0.1 2012年3月14日

我不确定这是对的,但我也在我的php.ini文件中放入extension = openssl.so并由服务器重新启动。我在日志中看不到任何不良错误消息。

尽管如此,我仍然无法打开连接超时。没有https的相同网址也可以。我错过了什么

2 个答案:

答案 0 :(得分:1)

有一些可能性,但如果您只是从运行代码的服务器的命令行中尝试curl HTTPs URL,您将能够找到更多有关原因的信息。< / p>

curl -v https://url

常见问题是url处的https证书无效,或者您的服务器上阻止了传出的https连接。

答案 1 :(得分:0)

如上所述,这是一个网络问题。实际上,当我说 http://exmaple.com 工作时,我错了,而 https://example.com 没有。我运行了四台服务器,称之为 A,B,C&amp; D 位于不同的全球位置 - 两个在美国,一个在欧洲,一个在亚洲。我想要访问的网址是美国的其他服务器。在发布此问题并查看各种评论之后,我发现了更多问题并发现我的file_get_contents调用失败了来自亚洲服务器的 。 TraceRoute透露,亚洲服务器根本无法找到我想要到达的服务器。所以有人在这里说 - 这是一个网络问题。我发布这个答案,所以任何遇到类似问题的解决方案遇到这个线程的人都会意识到这可能是问题,而不是PHP配置。