php - 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"
我尝试了各种解决方案,包括在调用构造函数时设置各种选项,但似乎没有任何效果。
解决方案
发生此错误是因为您的站点位于防火墙阻止交换的主机上。联系您的托管公司,将交换站点的 IP 添加到防火墙白名单中。您无需删除 ssl 或编码即可忽略它。
推荐阅读
- python - TKinter 套接字空间不足异常
- python - PIL/枕头不显示图像
- performance - 为什么我的 SSE 程序集在发布版本中速度较慢?
- c# - 带有 Telegram 频道按钮的缩略图卡会产生 InternalServerError
- javascript - Web App 运行 Mac OS X 程序并将结果上传到服务器
- django - 我无法在我的帖子中添加类别网址
- python - 错误捕获结合计数器不起作用
- python - 如果使用Python满足条件,则查找列表元素的平均值?
- user-interface - 如何在 Flutter 中设计兼容屏幕分辨率的 UI?
- javascript - .env 调用不同文件中的变量