首页 > 解决方案 > PHP SoapClient - 尽管 WSDL 在浏览器/curl 中有效且可访问,但“无法加载外部实体”

问题描述

这个问题困扰了我几个小时。我可以在浏览器中使用 curl 完美访问 wsdl,但是 PHP SoapClient 在使用以下代码时会返回错误:

$ps_client = new SoapClient("https://ppds.hitpromo.net/productData");

这是它返回的错误:

Fatal error: Uncaught SoapFault exception: 
[WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://ppds.hitpromo.net/productData' : 
failed to load external entity "https://ppds.hitpromo.net/productData"

我尝试了各种解决方案,包括在调用构造函数时设置各种选项,但似乎没有任何效果。

标签: phpsoapwsdlsoap-client

解决方案


发生此错误是因为您的站点位于防火墙阻止交换的主机上。联系您的托管公司,将交换站点的 IP 添加到防火墙白名单中。您无需删除 ssl 或编码即可忽略它。


推荐阅读