我正在使用SOAP与Web服务进行通信。我有一个在有缺陷的服务器上运行,但运行正常。现在我在更好的服务器上运行它,但配置不同。
在新服务器上我收到验证错误,我认为问题是卷曲的SSL版本。在某个地方,我认为应该是OpenSSL。在两台服务器上执行phpinfo()
会给我带来不同。
工作服务器:SSL Version OpenSSL/0.9.8b
。
不工作的服务器:SSL Version NSS/3.13.1.0
服务器是带有CentOS v6和Parallels Plesk Panel 11.5的VPS
修改
Web服务需要NTLM身份验证,因此我正在使用此类,这在旧服务器上运行良好。 http://tcsoftware.net/blog/2011/08/php-soapclient-authentication/
答案 0 :(得分:1)
我解决了我的问题,但它与cURL SSL版本无关。
我必须将cURL设置CURLOPT_HTTPAUTH
从CURLAUTH_ANY
更改为CURLAUTH_NTLM
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
这有点奇怪,因为根据http://nl3.php.net/curl_setopt CURLAUTH_ANY
代表:
CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM