2015-09-10 219 views
1

我有这个问题:PHP肥皂握手失败

我在PHP soap中使用Web服务。一切工作正常在我的本地,但是当我把它放在远程服务器上我得到这个错误:

SoapClient::SoapClient(): SSL operation failed with code 1. 
OpenSSL Error messages: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 

远程服务器上运行的HTTPS。远程服务器使用PHP 5.3和localhost PHP 5.5。有人知道它为什么在localhost上运行,而不是在远程服务器上运行?如果是这样,我该如何解决这个问题?我已经阅读了10多个问题,但他们都没有工作,其中60%是用于JAVA而不是用于PHP。我将不胜感激任何形式的帮助,因为我试图让这个固定时间超过3整天。这是我如何调用Web服务:

$wsdl_url = 'https://somehost.com/someWebservice.wsdl'; 
$client = new SoapClient($wsdl_url, array('login' => $username, 'password' => $password, 'trace' => true)); 

编辑:我用我的远程服务器上的其他3 Web Services和他们很好地工作。这是为什么我不知道为什么这个不起作用的另一个原因。

回答

1

因此,我已经解决了握手失败的问题。这是由于PHP版本。只要我升级到PHP 5.5它解决了这个问题。