执行以下行时,我收到此错误:
$client = new soapclient('https://example.com/xxx/pgw?wsdl=xyz.wsdl');
Error:
SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost:8080/xxx/pgw?wsdl=xyz.wsdl' : failed to load external entity "http://localhost:8080/xxx/pgw?wsdl=xyz.wsdl" in SoapClient->SoapClient() (line 39 of /var/www/.../myscript.php).
我已经在浏览器中检查了 URL,没有问题。
什么可能导致错误?
经过几个小时和尝试后,我今天遇到了同样的问题file_get_contents
在我的 WSDL URL 上,我注意到我的 apache 错误日志中出现了权限被拒绝的错误。我发现 SELinux 是罪魁祸首。我相信默认情况下,SELinux 会阻止 httpd 发出自己的网络请求(至少在 Fedora 上)。
修复方法是:setsebool -P httpd_can_network_connect 1
,然后允许 Apache 连接到远程服务(它适用于 SSL 和非 SSL 请求)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)