在OS X上的PHP和AMPS中使用SoapClient时出错

在OS X上的PHP和AMPS中使用SoapClient时出错,php,macos,soap,https,wsdl,Php,Macos,Soap,Https,Wsdl,我已经在OSXMavericks上安装了AMPPS,当我试图使用SoapClient类在PHP中通过HTTPS访问WSDL时,我遇到了以下错误 SOAP-ERROR:分析WSDL:无法从加载 :未能加载 外部实体 当我运行phpinfo时,在中启用了OpenSSL、SOAP和cURL。通过使用file\u get\u内容,我可以很好地检索WSDL内容。没有防火墙阻止连接。同一网络上的其他计算机可以很好地连接。下面是我的代码。它可以在生产服务器上工作,也可以在我使用过它的其他几台计算机上工作 $

我已经在OSXMavericks上安装了AMPPS,当我试图使用SoapClient类在PHP中通过HTTPS访问WSDL时,我遇到了以下错误

SOAP-ERROR:分析WSDL:无法从加载 :未能加载 外部实体

当我运行phpinfo时,在中启用了OpenSSL、SOAP和cURL。通过使用file\u get\u内容,我可以很好地检索WSDL内容。没有防火墙阻止连接。同一网络上的其他计算机可以很好地连接。下面是我的代码。它可以在生产服务器上工作,也可以在我使用过它的其他几台计算机上工作

$this->wsdlUrl = 'https://www.some-domain.com/Webservice.asmx?WSDL';
$this->client = new SoapClient($this->wsdlUrl);
$this->client->Connect(array(
    /* Login credentials */
));
我还尝试使用一个流上下文,将verify_peer设置为false,但结果相同。增加默认的\u套接字\u超时选项也不能像一些人建议的那样起作用

我知道关于这个错误还有其他几个问题,但我所提出的解决方案中没有一个适合我


有什么想法吗?提前谢谢

我相信这将为您指明正确的方向:

try {
    $sc= new SoapClient('https://www.some-domain.com/Webservice.asmx?WSDL');
    $sc->Connect(/* Login credentials */);
} catch (SoapFault $fault) {
    print_r($fault->faultstring);
}

这与问题中给出的错误消息完全相同,看起来AMPPS没有php_openssl exentsion,因此您无法将SOAP用于HTTPS@Andy,你找到解决办法了吗?我也有同样的问题,特别是OSX上的AMPS。