我正在使用fopen()php方法打开与资源的连接来读取它。此资源是https网址。
当我尝试使用php5-fpm(来自浏览器)执行使用fopen的脚本时,php会抛出此错误:
2015/10/20 12:16:38 [错误] 6765#0:* 37在stderr发送的FastCGI:“PHP消息:PHP警告:fopen():SSL:握手超时...
但是当我从php客户端调用这个相同的URL时,一切正常。
例如,我有这个简单的脚本:
$path = "https://www.example.com/";
$handle = fopen($path, 'r');
var_dump($handle);
如果我从php客户端调用此脚本响应将是:“资源(5)类型(流)”,所以一切正常。 在php5-fpm的情况下,响应将为:false,并且抛出握手错误。
如果我用php5-fpm执行相同的脚本而没有ssl工作正常。而allow_url_fopen是开启的。并且启用了openSSL支持。
感谢您的帮助!