fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines
首先开启openssl.cafile
参数
vi /etc/php.ini
配置如下:
openssl.cafile=/var/www/html/ssl/cert.pem
设置完毕后可以使用openssl_get_cert_locations()
来检测
<?php
print_r(openssl_get_cert_locations());
?>
或者命令行中执行
php -r "print_r(openssl_get_cert_locations());"
显示如下(我们只关注ini_cafile
参数就行,其他的不用管)
Array (
[default_cert_file] => /etc/pki/tls/cert.pem
[default_cert_file_env] => SSL_CERT_FILE
[default_cert_dir] => /etc/pki/tls/certs
[default_cert_dir_env] => SSL_CERT_DIR
[default_private_dir] => /etc/pki/tls/private
[default_default_cert_area] => /etc/pki/tls
[ini_cafile] => /var/www/html/ssl/cert.pem
[ini_capath] =>
)
cert.pem文件可以在 https://curl.haxx.se/ca/cacert.pem 下载,不过我的是自己安装的邮箱服务器,所以我使用的是自己生成的证书,也就是邮件服务器上面postfix的配置文件/etc/postfix/main.cf里面的smtpd_tls_cert_file所对应的那个文件,完毕后重启服务再次执行发现可以了,我是在discuz后台邮件服务设置测试那里遇见到的这个问题。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭