PHP SOAP 无法连接到 SSL WSDL 源

标签 php soap ssl

尝试通过 PHP/Win32 将 Soap 连接到 https://WSDL 源,但不断出现错误:

Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "https://...

如果我尝试在本地保存 WSDL 然后访问它,SoapFault->faultstring 属性会显示消息“SSL 支持在此构建中不可用”。

谷歌搜索后,似乎 PHP SOAP 无法连接到 HTTPS 源。不过 HTTP 没问题。

有解决办法吗?或者是否有我可以安装的替代 SOAP 版本/模块?

最佳答案

PHP5 对 SOAP 的 HTTPS 支持

如果您在尝试使用 SOAP 时看到有关缺少 https 包装器的错误消息(“无法找到包装器“https”——您是否在配置 PHP 时忘记启用它?”或“[HTTP] SSL 支持是在此版本中不可用”),您还没有安装 SSL 库来支持安全交易。

  1. 取消评论 扩展=php_soap.dll 在你的 php.ini 中

  2. 取消评论 扩展=php_openssl.dll 在你的 php.ini 中

  3. 复制 ssleay32.dll 和 libeay32.dll 到你的windows system32目录

  4. 重启 apache,瞧!

我最初是在以下位置找到这个答案的:http://webponce.com/rants/2008/04/https-support-for-soap-in-php5-under-windows/

关于PHP SOAP 无法连接到 SSL WSDL 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2001003/

相关文章:

对于非根用户的 CentOS 上的 SSL 连接,cURL 不起作用(错误 #77)

python - requests.exceptions.SSLError : [Errno 8] _ssl. c:504: EOF 发生违反协议(protocol)

php - 在发送给客户端之前在 PHP 中调整 BLOB 图像的大小

java - 为什么我的变量不指向同一个数组?

c# - 如何防止 .Net SOAP 序列化吃掉换行符

web-services - 使用Delphi调用UPS包裹追踪Web服务吗?

Java Cryptography Extension (JCE) Unlimited Strength 仍然给出异常

php - Paypal IPN 与 MySQL 集成

php - 公司内网,PHP/MySQL 托管在本地服务器上

java - 初学者 : Soap Request Response call from java