您需要设置 Http 客户端选项。
这是工作设置:
// eko/FeedBundle and issue with ssl site -> https://github.com/eko/FeedBundle/issues/51
$httpClientOptions = array(
'adapter' => 'Zend\Http\Client\Adapter\Socket',
'persistent' => false,
'sslverifypeer' => false,
'sslallowselfsigned' => false,
'sslusecontext' => false,
'ssl' => array(
'verify_peer' => false,
'allow_self_signed' => true,
'capture_peer_cert' => true,
),
'useragent' => 'Feed Reader',
);
ZendFeedReader::setHttpClient(new ZendHttpClient(null, $httpClientOptions));
这是不工作的设置:
// eko/FeedBundle and issue with ssl site -> https://github.com/eko/FeedBundle/issues/51
$httpClientOptions = array(
'adapter' => 'Zend\Http\Client\Adapter\Socket',
'persistent' => false,
'sslverifypeer' => false,
'sslallowselfsigned' => true,
'sslusecontext' => true,
'ssl' => array(
'verify_peer' => false,
'allow_self_signed' => true,
'capture_peer_cert' => true,
),
'useragent' => 'Feed Reader',
);
ZendFeedReader::setHttpClient(new ZendHttpClient(null, $httpClientOptions));
注意:我对使用 Zend 库的 symfony bundle eko/feedBundle 有疑问,所以基本上它对你来说是一样的。
该解决方案经过测试并证明有效。