Php 从一台主机上,无法使用SoapClient访问HTTP url
我在一台主机上有一个问题:我无法访问HTTP url(比如,) 从我的本地主机(运行PHP5.4)点击这样的URL效果很好。但是,从我的目标服务器(运行PHP 5.5)点击这样的url会带来以下问题: 正在分析WSDL:无法从“”加载:未能加载外部实体“” (由于合同政策,我没有透露URL) 我能查什么?(由于url不是HTTPS格式,而是HTTP格式,因此应放弃openssl) 代码:Php 从一台主机上,无法使用SoapClient访问HTTP url,php,soap-client,Php,Soap Client,我在一台主机上有一个问题:我无法访问HTTP url(比如,) 从我的本地主机(运行PHP5.4)点击这样的URL效果很好。但是,从我的目标服务器(运行PHP 5.5)点击这样的url会带来以下问题: 正在分析WSDL:无法从“”加载:未能加载外部实体“” (由于合同政策,我没有透露URL) 我能查什么?(由于url不是HTTPS格式,而是HTTP格式,因此应放弃openssl) 代码: 发现了:PHP版本之间的SOAP客户端没有问题。它们至少在-5.2和5.5之间保持兼容。所以这里没有什么奇怪
发现了:PHP版本之间的SOAP客户端没有问题。它们至少在-5.2和5.5之间保持兼容。所以这里没有什么奇怪的测试,只是简单的连接测试 像这样的问题应该通过:
file\u get\u contents('http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl)
(现代PHP版本默认情况下会激活fopen_包装器)
答案是什么?连接被拒绝。这就是为什么我会出现这样的错误。你能从服务器ping它吗?目标站点是否阻止您的站点?你的防火墙会阻止发送到该站点的请求吗?是的。这不是一个协议问题——我认为这与PHP版本/SoapClient版本/Soap协议有关。连接被拒绝“连接被拒绝”-联系可以在另一端授予您访问权限的人员。服务器端有东西阻塞了。是的。然而,问题不在最后,而是在托管服务中。如果我还有其他问题,我会在serverfault.stackexchange.com上提问
new SoapClient(
'http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl',
array('uri' => 'http://foo-bar.com/wsdl/schema/')
);