月: 2019年5月

自己証明書のhttpsに対してfile_get_contentsしたらエラー

自己証明書の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