我已经通过Yii公开了几个Web服务。
SoapServer::SoapServer(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
这个错误发生在framework/web/services/CWebService.php(1.1.19)的第166行,到目前为止我还没有找到任何解决方法,options属性是受保护的,不知道如何绕过这个问题,但是http://php.net/manual/en/soapserver.soapserver.php似乎仍然不支持与SoapClient相同的选项
$options["stream_context"] = stream_context_create([
"ssl" => [
// set some SSL/TLS specific options
"verify_peer" => false,
"verify_peer_name" => false,
"allow_self_signed" => true
]]);
2条答案
按热度按时间zbwhf8kr1#
我们最终发现这是服务器配置问题。生产服务器没有遇到这个问题,因为证书是由已知的权威机构签署的,但是在私有服务器中,我们需要编辑php.ini文件
abithluo2#
当我尝试在我的开发环境中创建SoapServer时,我在Linux(Ubuntu)上也遇到了这个错误。如果您不想全局设置PHP openssl.cafile,只需将您的根CA复制到正确的文件夹中并更新证书:
在重新配置ca-certificates时,您需要选择自己的证书并激活它。(如果您的开发环境中不再需要根CA,只需重新配置证书,从列表中取消选择CA,最后更新证书。)