【发布时间】:2015-10-14 12:01:06
【问题描述】:
我正在尝试使用肥皂调用获取一些信息,但我收到以下警告/错误:
遇到 PHP 错误 严重性:警告 消息:SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: Name or service not known
遇到 PHP 错误 严重性:警告 消息:SoapClient::SoapClient(https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0):无法打开流:php_network_getaddresses:getaddrinfo 失败:名称或服务未知
遇到 PHP 错误 严重性:警告 消息:SoapClient::SoapClient(): I/O 警告:未能加载外部实体“https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0”
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0'
这是我的电话:
$client = new SoapClient(SAAM_URL, array(
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL));
其中 SAAM_URL 是带有 URL 的常量(是 https:// url)。
有人告诉我这个问题可能与 ssl 证书的问题有关,所以我尝试通过以下方式“取消”验证:
$context = stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
));
$client = new SoapClient(SAAM_URL, array(
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
'stream_context' => $context));
但什么也没发生,我仍然遇到同样的错误。有什么建议吗?
PD:我检查了网址,它显示的内容正确。
谢谢
【问题讨论】:
-
错误的 URL 或本地 DNS 问题。你能在命令提示符下从主机名解析 IP 吗?
-
除非您在 hosts 文件中定义了
ec2amaz-dbmdpji,否则这不是有效的域名。看起来它打算成为一些 Amazon EC2 平台主机。 -
我试过:wget url_used 并且它连接但抛出错误,说它无法验证证书。如何不安全地连接?
-
@MichaelBerkowski 为什么显示 ec2amaz-dbmdpji?它甚至不是 URL (SAAM_URL) 的一部分。我认为我无法访问主机文件,有没有办法解决它?
-
@johansebasb 常量
SAAM_URL中定义了什么?发帖var_dump(constant('SAAM_URL'))