Zend服务器中的SSL/cUrl/PHP请求失败


SSL/cUrl/PHP requests failing in Zend server

我有一个运行Ubuntu 11.10的开发虚拟机,无法获得用于SSL URL的PHP cUrl请求。通过CLI将cUrl用于SSL或非SSL URL,或通过PHP cUrl使用非SSL URL都没有问题。只有SSL URL通过PHP中的cUrl。当我尝试任何SSL请求时,我会得到Chrome的Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.错误。

我已经能够缩小问题范围:在服务器错误日志中,我发现了以下条目:

[Thu Feb 23 10:07:38 2012] [notice] child pid xxxx exit signal Segmentation fault (11)

对应于我尝试的ssl curl请求。四处搜索产生了以下指向OpenSSL的错误:https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/590639一个apt-get upgrade openssl之后,我在openssl 1.0.0e上。但我仍然有同样的问题。我想我可能会遇到对配置Zend/Apache2的细节不熟悉的问题。

有趣的是,在Zend管理面板中,我看到:

卷曲

  • cURL支持:已启用
  • cURL信息:libcurl/7.21.6 OpenSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3

而且:

openssl

  • OpenSSL支持:已启用
  • OpenSSL版本:OpenSSL 0.9.8o 2010年6月1日

有人能给我指一下我需要找的方向吗?我是一个正在恢复中的Windows.aspx开发人员,所以答案可能很简单明了。

是的,我确实首先考虑了服务器故障,但回到这里是因为我认为其他开发人员可能更需要解决这个问题。

最近我找到了解决方案,如果你删除这个文件zend/lib/libccurl.so.4.2.0,然后停止并启动apache CURL,它将适用于https协议

您是否更新了Zend Server,运行的是哪个版本?编译PHP时,这些库都内置在PHP中,因此除非重新编译PHP,否则升级SSL库文件不会有任何效果。由于您使用的是ZendServer,因此您必须获得一个新版本的ZendServer。

我怀疑还有其他几个人也有同样的问题,他们都在使用ZendServer。他们中的一些人在主题中指出了这一点,其中一个没有,但我认为这也是Zend Server。

我没有找到任何关于Zend Server的新版本是否真的解决了这个问题的具体细节,但如果你还没有,我会尝试升级到新版本。