Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP 5.6 openssl更改证书路径_Php_Ssl_Openssl_Php 5.6 - Fatal编程技术网

PHP 5.6 openssl更改证书路径

PHP 5.6 openssl更改证书路径,php,ssl,openssl,php-5.6,Php,Ssl,Openssl,Php 5.6,我正在打开一个这样的连接: fsockopen('ssl:// ... etc 返回时出现以下错误: 警告:fsockopen():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:SSL3\u获取\u服务器\u证书:证书验证失败 我可能会遇到这个错误,因为我正在从PHP5.3升级到PHP5.6,在PHP5.6中,他们实际上会检查您的证书 我通过以下方式检查了我的证书位置: openssl_get_cert_locations() 其中返回了以下内容: A

我正在打开一个这样的连接:

fsockopen('ssl:// ... etc
返回时出现以下错误:

警告:fsockopen():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:SSL3\u获取\u服务器\u证书:证书验证失败

我可能会遇到这个错误,因为我正在从PHP5.3升级到PHP5.6,在PHP5.6中,他们实际上会检查您的证书

我通过以下方式检查了我的证书位置:

openssl_get_cert_locations()
其中返回了以下内容:

Array
(
   [default_cert_file] => f:\repo\winlibs_openssl_vc11_x86/cert.pem
   [default_cert_file_env] => SSL_CERT_FILE
   [default_cert_dir] => f:\repo\winlibs_openssl_vc11_x86/certs
   [default_cert_dir_env] => SSL_CERT_DIR
   [default_private_dir] => f:\repo\winlibs_openssl_vc11_x86/private
   [default_default_cert_area] => f:\repo\winlibs_openssl_vc11_x86
   [ini_cafile] => 
   [ini_capath] => C:\OpenSSL-Win32\bin\PEM\cert.pem
)
糟糕的是,我甚至没有一个'
f:\
'位置! 我试图通过在我的
php.ini
中添加ini_capath位置来解决这个问题,如下所示:

 openssl.capath=C:\OpenSSL-Win32\bin\PEM\cert.pem
您可以在
get\u cert\u location

我很不明白为什么它会出现在
F:
磁盘上(就像我说的,我甚至没有这个磁盘),我也不知道如何更改位置

有什么建议吗

可能的重复可能的重复