【问题标题】:PHP SoapClient Could not Connect to HostPHP SoapClient 无法连接到主机
【发布时间】:2014-05-06 04:29:30
【问题描述】:

这是一个很尴尬的问题,我希望有人可以帮助我弄清楚我发生了什么。我做了一个小脚本只是为了连接到 SoapServe。当我在命令行中运行它时,它运行良好。

但是当我尝试通过网络浏览器访问它时,我收到“无法连接到主机”消息。

所以在命令行中解析主机名不是问题,我可以让它工作,我认为它与 Apache 配置有关。

我的代码很简单:

try {
$client = new SoapClient("soap.wsdl");
$result = $client->ccReturn($params);
} catch (SoapFault $e) {
    print_r($e);
}

我真的不知道我做错了什么!请帮忙!

【问题讨论】:

  • 看看这是否有帮助...stackoverflow.com/questions/4318870/…
  • 谢谢,我以前看过这个……没有帮助
  • 这可能是由许多因素引起的,例如防火墙和代理。尝试通过 wsdl 搜索 soap:address 位置。可能是给定了一个服务器名称,而您正在运行代码的机器无权访问。可能是您需要在主机文件中添加一些内容才能获得访问权限
  • 不是这样,因为当我从命令行运行时,我可以获得所有响应。

标签: php


【解决方案1】:

问题解决了!

借助本文:Php SoapClient stream_context option

我当时认为问题与 Apache 相关,它不允许我的应用程序进行通信,因为当我从命令行手动运行时,脚本可以正常工作。

然后我尝试使用 CURL 连接到 SOAP 网站,我从 CURL 得到的错误消息是:“无法连接...权限被拒绝”。

稍作搜索,我运行了极其明显的命令:“setsebool -P httpd_can_connect_network on”来配置 SELinux 策略。

感谢所有帮助我的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多