发布于2026-07-20 阅读(0)
扫一扫,手机访问
测试环境里用 HTTP 调 WebService 跑得稳稳当当,可一到生产环境变成 HTTPS,立马翻车——报错信息是“SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://***/Service?wsdl' : failed to load external entity”。直接拿浏览器打开这个 HTTPS 地址,又能正常返回 WSDL 文档。这问题卡了一天,查了不少资料,最后发现症结其实很简单:PHP 环境缺了必要的扩展模块。
先说配置环境:PHP 服务端跑在 Windows 的 WAMP 上,WebService 服务端是 Linux 下的 LAMP 架构。跨协议调用时,Windows 下的 PHP 需要同时启用 php_curl.dll 和 php_openssl.dll 这两个扩展,而且它们都依赖 libeay32.dll 和 ssleay32.dll 这两个动态链接库。说白了,就是 PHP 服务端必须把 SSL/TLS 相关的模块全部加载上,才能顺利解析 HTTPS 协议的 WSDL 文件。
经验表明,遇到这种“浏览器能打开但 PHP 报错”的情况,十有八九是环境配置没到位,而不是代码逻辑的问题。把上述扩展启用并确认依赖库存在后,问题就迎刃而解了。
上一篇:centos部署php
下一篇:扩展 php_什么是php扩展
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8