file_get_contentsでSSLのサイトから情報を取得できない場合の解決方法

PHP

SSLへのfile_get_contents

今までfile_get_contentsでSSLのサイトから情報を取得していなかったので、全然気にしていませんでしたが、PHP5.6から、curl同様、証明書の妥当性確認がデフォルトでONになったようです。


そのため、PHP5.6でSSLのサイトからfile_get_contentsで取得する場合には、file_get_contentsのオプションで妥当性確認をしないように設定するか、php.iniに証明書のパスを記載することで解決できます。

どちらかというと、php.iniに設定してしまった方が楽だと思いますので、php.iniの該当場所へパスを記載しましょう。


php.iniの、openssl.cafileに証明書の場所を設定してあげます。
centos5の場合は、「/etc/pki/tls/certs/ca-bundle.crt」になります。
そして、apacheなりhttpdの再起動を行うことで反映できます。


これだけで、PHP5.6以降のfile_get_contentsでSSLサイトからでも情報取得ができるようになります。
file_get_contentsを使わずにcurlを使うことで代用することも可能です。


少しはまりましたので、記載しておきます。




 
 

Newer: BlackBerry DTEK50がEXPANSYSで本日だけお買い得!

Older: THE IDOLM@STERコラボのSE-MX9の再販売が決まりました!締め切りが「無くなるまで」なので急げ〜!

in the PHP category...

Newer: no data

Older: PHPとGoogle Analytics APIでページビューランキングを作る

他にもこんな記事が読まれています [さらに他の記事]

Copyright © Rocomotion All Rights Reserved.