curlの件、テスト環境で
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
の設定で実行するとエラーになったのに、本番環境では問題なし。opensslのバージョンが古いとエラーが出る、とかいう情報があった気がするけど、そのせいだろうか?もうなんだかよくわかんないけど、とりあえず動いたのでよかった。
curlの件、テスト環境で
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
の設定で実行するとエラーになったのに、本番環境では問題なし。opensslのバージョンが古いとエラーが出る、とかいう情報があった気がするけど、そのせいだろうか?もうなんだかよくわかんないけど、とりあえず動いたのでよかった。
当サイトでは、登録された自助グループ・当事者会のウェブサイトが生きてるかどうかをスクリプトで自動チェックしている。スクリプトではfile_get_contentsをウェブサイトのurlに対して実行し、そのレスポンスから生死を判断している。ところが、ブラウザではウェブサイトを正常表示できるのに、スクリプトではエラーになることがしばしばある。file_get_contentsのオプションで適当なUser-Agentを偽装してみてもエラーになる。何か別の方法があるのでは?と思っていたら、こんな情報を見つけた。
APIなどにfile_get_contents()を使うのはオススメしない理由と代替案
なるほど。curlとやらを使ってみるか。ということでやってみたらhttpsサイトへの接続がエラーになる。そしたらこんな情報が。
PHPでcurlを使ってHTTPSにアクセスしてエラー出たときの回避策
なるほどね。で、やってみたらやっぱりエラー出るじゃんか。
ローカルサーバからWebサービスAPIへSSL接続時に出るcurlのエラー対処
なるほどね。保存したssl証明書を使うのね。というところで今日はここまで。