今天服务器(centos)使用yum update更新后 php的file_get_contents()报错了, php 版本是5.6的 错误内容:
'file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed'
看字面意思应该是密钥文件验证失败 首页找到openssl的密钥文件位置 使用:
var_dump(openssl_get_cert_locations());
返回内容:
array ( 'default_cert_file' => '/etc/pki/xxx/cert.pem', 'default_cert_file_env' => 'SSL_CERT_FILE', 'default_cert_dir' => '/etc/pki/xxx/certs', 'default_cert_dir_env' => 'SSL_CERT_DIR', 'default_private_dir' => '/etc/pki/xxx/private', 'default_default_cert_area' => '/etc/pki/xxx', 'ini_cafile' => '/etc/pki/xxx/cert.pem', 'ini_capath' => '', )
其中的default_cert_file就是密钥文件位置了 然后在php.ini的后面加上:
openssl.cafile=/etc/pki/xxx/cert.pem
重启下PHP后,应该不报错了!