我有一个运行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的新版本是否真的解决了这个问题的具体细节,但如果你还没有,我会尝试升级到新版本。