php get_headersでhttpsのエラー
2011/06/01
get_headers()でレスポンスを取得してたらエラーらしきものがでてきた。
get_headers(): This function may only be used against URLs
要は「get_headers()はURLしか使えないよ」ってことだと思うんだけど…。
対象となるURLをブラウザでは普通に開ける。
見ると「https」から始まるURLになってた。
ということで、そっち方面で調べると「phpからhttpsへの通信(SSL通信)」ってのに問題があるっぽい。
参考「get_headers関数でhttp://~だとOKで、https://~だとエラーになる原因について」
phpからhttpsへの通信(SSL通信)
方法も載ってたので対応することにした。
「php.ini」を開いて「extension=php_openssl.dll」を追加。
参考
<PHPからhttpsに接続できる設定例>
★phpinfo()
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls
→httpsの記述がある。PHPからhttpsページへのアクセスができる。★php.ini
extension=php_openssl.dll
→「extension=php_openssl.dll」がコメントアウトになっていない。