PHPのsimplexml_load_file()でflickrのAPI(https)にGETリクエストを投げてXMLを取ってくるPHPのスクリプトを動かしているのだが、これが macOS Sierraにした途端動かなくなった。
SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
みたいなのが出てる。とりあえずパッと調べて出てきた情報としては
PHP on macOS Sierra can’t access SSL data – andrewyager.com
- file_get_contents() など libssl に依存してるやつがダメ
- libCURLは大丈夫
ということなので、とりあえずの対処として
simplexml_load_file() をやめて、
$curl = curl_init($url); curl_setopt($curl, CURLOPT_HTTPGET, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $xmlstr = curl_exec($curl); curl_close($curl); $res = new SimpleXmlElement($xmlstr);
こんなのに書き換えた。一応動いた。
今すぐ使えるかんたん macOS Sierra 完全ガイドブック リブロワークス 技術評論社 2016-10-18 |