自己証明書のhttpsに対してfile_get_contentsしたらエラー
開発環境では自己証明書でhttps運用してたりするのですが、今回以下のエラーが出てました。
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
/etc/php.ini
を以下のようにとりあえず変更。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. curl.cainfo =/etc/httpd/conf/ssl/server.crt [openssl] ; The location of a Certificate Authority (CA) file on the local filesystem ; to use when verifying the identity of SSL/TLS peers. Most users should ; not specify a value for this directive as PHP will attempt to use the ; OS-managed cert stores in its absence. If specified, this value may still ; be overridden on a per-stream basis via the "cafile" SSL stream context ; option. openssl.cafile=/etc/httpd/conf/ssl/server.crt
※apacheが読み込んでいるcrtを変更した。
変更後apacheのリスタート。
参考URL
【解決済】さくらのレンタルサーバでPHP5.6を使用すると、file_get_contenst等でSSLエラーになることがある件と、当座の解消法
(現在は解決しました)PHPの外部への接続でSSLのエラーが出てしまう@KUSANAGI PHP7.2