httpsページをfile_get_contentsするとエラーになる場合の回避策

SEO対策の一環として、サイトのSSL化が標準仕様となりつつあります。

そんな中、ヘッダーやフッター、サイドメニュー…など、全ページの共通ファイルとして使い回していたものが、サイトをSSL化したことで、エラーが出るようになりました。また、外部サイトのスクレイピングでも、当該サイトがSSLサイト(https://~)の場合も同様にエラーが出るように・・・。

不思議なのは、エラーになる時とならない場合が混在すること!?調べてみますと「SSL証明書のバージョンがうんたらかんたら…」。

確認した結果、次のコードでエラーは出なくなったので良しとする。

<?php
$ch = curl_init(); 
curl_setopt_array($ch,
array(
CURLOPT_URL => 'https://挿入ファイル名',
CURLOPT_SSL_VERIFYPEER =>false,
CURLOPT_RETURNTRANSFER =>true,
) 
);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
?>

Web制作覚書