我正试图在我的web应用程序中实现基于PHP SOAP的Web服务。我收到了一系列的错误,这些错误似乎指向了图书馆与OpenSSL(或Curl等)之间的冲突,我通过在互联网上搜索类似的错误已经理解了这一点,但认为图书馆是问题的普遍共识,我找不到解决办法。与OpenSSL和PHP 5.3.3的库冲突?
Warning (2): SoapClient::__doRequest() [soapclient.--dorequest]: SSL operation failed with code 1. OpenSSL Error messages:
error:140773F2:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert unexpected message [CORE/vendors/Startrack/WSSecurity.php, line 110]
Warning (2): SoapClient::__doRequest() [soapclient.--dorequest]: Failed to enable crypto [CORE/vendors/Startrack/WSSecurity.php, line 110]
Warning (2): SoapClient::__doRequest() [soapclient.--dorequest]: connect() failed: Unspecified error [CORE/vendors/Startrack/WSSecurity.php, line 110]
Notice (8): Undefined property: SoapFault::$detail [APP/controllers/startrack_controller.php, line 38]
Notice (8): Trying to get property of non-object [APP/controllers/startrack_controller.php, line 38]
Could not connect to host
这是从Mac OSX Lion服务器提供的。安装了PHP 5.3.3,并且启用了OpenSSL,Curl和SOAP的扩展。这是在CakePHP中构建的,它解释了上述错误消息的语法。我正在使用已提供的PHP Web服务包。当通过MAMP托管上述作品时,我希望不必依赖MAMP。
我可以找到的唯一不兼容是OpenSSL头和库版本之间,但从我知道这应该不是一个问题?
OpenSSL Library Version OpenSSL 0.9.8r 8 Feb 2011
OpenSSL Header Version OpenSSL 0.9.8l 5 Nov 2009
我想了解假设的'冲突'是否在我的服务器和远程服务器之间? WSDL文件包含在Web Service API中,因为他们希望避免任何问题,并且它通过在同一台计算机上安装MAMP来工作。所以我认为这是Apache/PHP和Curl/OpenSSL之间的设置问题。
任何指向如何建立实际问题,并纠正它,将不胜感激。