这适用于我的Google应用引擎,但在我的开发服务器上,我收到此错误:
警告:file_get_contents(https://website.com):无法打开流:设置了不支持的SSL上下文选项。存在以下选项,但已被忽略:allow_self_signed
<br />
SSL证书错误 - 证书无效或不存在,[Errno 8] _ssl.c:507:EOF违反协议发生
$context = stream_context_create(
array(
'ssl' => array('verify_peer' => false, 'allow_self_signed' => true),
'http' => array( 'method' => 'GET' )
)
);
$call_url = file_get_contents('https://website.com', false, $context);
我正在使用runtime: php55
。有谁知道为什么会这样,为什么它适用于App Engine,以及我可以做些什么来解决这个错误?
错误报告:https://code.google.com/p/googleappengine/issues/detail?id=11772
答案 0 :(得分:0)
最简单的解决方案是使用curl,因此:
function file_get_contents_curl( $url ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_AUTOREFERER, TRUE );
curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
$data = curl_exec( $ch );
curl_close( $ch );
return $data;
}
(提示@lord_viper和PHP : How to use curl instead file_get_contents?)