ブログサイトから/?feed=rss2で取り込み後、自社DBにセットするバッチが急に動かくなりました。
file_get_contentsやcurlで、いろいろ試行錯誤もしましたが、成功に至らず。。。
結論、以下のように、自己署名証明書を許容する必要がありました。
$url = 'https://xxx.com/?feed=rss2';
$context = stream_context_create(array('ssl'=>array(
'allow_self_signed'=> true,
'verify_peer' => false,
)));
libxml_set_streams_context($context);
$xml = simplexml_load_file($url);
//print_r($xml)
//うまく動けました
ちなみに、 file_get_contents もSSL処理に似ている感じでした
$postUrl = 'https://xxx.com/xxx/index.php';
$postPost = array('xxx' => yyy);
$postData = http_build_query($postPost, "", "&");
$postHeader = array(
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: ".strlen($postData)
);
$postOptions = array(
'http' =>array(
'method' => 'POST',
'header' => implode("\r\n", $postHeader),
'content' => $postData
),
//SSL処理
'ssl' =>array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
$postJson = file_get_contents($postUrl, false, stream_context_create($postOptions));
$postArr = json_decode($postJson, true);
//print_r($postArr)