我在StackOverflow中发现了很多类似的问题,但没有一个能解决我的问题。
以下代码抛出异常:
$soap_options = array(
'trace' => TRUE,
'soap_version' => SOAP_1_2,
'cache_wsdl' => WSDL_CACHE_NONE,
'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36'
);
$wsdlUrl = 'https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL';
$soap = new \SoapClient($wsdlUrl, $soap_options);
例外是:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL' : failed to load external entity "https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL"
我可以从同一个PHP文件中file_get_contents
,但不会抛出任何错误。
以下任何一项也适用于CLI:
curl -A '' -4 url
curl -A '' -6 url
curl -A 'PHP' -4 url
curl -A 'PHP' -6 url
真的不知道发生了什么。请帮助隔离并确定问题。