欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

FreeBSD php5.6 https fsockopen错误

程序员文章站 2022-04-06 15:49:04
...
php升级到5.6后,fsockpen('ssl://www.baidu.com', 443, $errno, $errstr, 10);
爆出:

PHP Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate

获取 php加载的 openssl.pem文件路径:

php -r "print_r(openssl_get_cert_locations());"

Array(    [default_cert_file] => /usr/local/openssl/cert.pem    [default_cert_file_env] => SSL_CERT_FILE    [default_cert_dir] => /usr/local/openssl/certs    [default_cert_dir_env] => SSL_CERT_DIR    [default_private_dir] => /usr/local/openssl/private    [default_default_cert_area] => /usr/local/openssl    [ini_cafile] =>     [ini_capath] => )

ls /usr/local/openssl/cert.pem


根本没有这个文件,

做个软连接:

ln -s /usr/local/share/certs/ca-root-nss.crt /usr/local/openssl/cert.pem

OK.