PHP openssl_public_encrypt导致页面超时/连接重置?

JM4*_*JM4 5 php windows apache xampp openssl

刚刚迁移到新机器并遇到问题.

注意:这是Windows 7,Apache 2.2.21,MySQL 5.5.16,php 5.3.8设置.

每次运行某个PHP脚本时,我都会遇到"页面加载错误 - 连接已重置".我知道脚本在函数调用之前使用各种echo语句但是调用:

openssl_public_encrypt();

我有一个页面超时.我已将相应的openssl.dll PATH添加到我的Windows配置设置(D:\ xampp\php\etc)中,但我仍然在我的实际localhost机器上获取页面超时错误(以及上面的错误).

页面返回:

连接被重置

  • 页面加载时重置了与服务器的连接.

apache ssl日志显示:

[Wed Dec 07 15:13:17 2011] [info]加载SSL感知服务器的证书和私钥

[Wed Dec 07 15:13:17 2011] [debug] ssl_engine_pphrase.c(470):未加密的RSA私钥 - 不需要密码短语

[Wed Dec 07 15:13:17 2011] [info]为SSL协议配置服务器

[Wed Dec 07 15:13:17 2011] [debug] ssl_engine_init.c(465):创建新的SSL上下文(协议:SSLv2,SSLv3,TLSv1)

[Wed Dec 07 15:13:17 2011] [debug] ssl_engine_init.c(420):配置TLS扩展处理

[Wed Dec 07 15:13:17 2011] [debug] ssl_engine_init.c(795):配置RSA服务器证书

[Wed Dec 07 15:13:17 2011] [warn] RSA服务器证书CommonName(CN)`localhost'与服务器名称不匹配!?

[Wed Dec 07 15:13:17 2011] [debug] ssl_engine_init.c(834):配置RSA服务器私钥

PHPinfo()显示:

**

OpenSSL的

**

OpenSSL support          |  enabled
----------------------------------------------------------
OpenSSL Library Version  |  OpenSSL 1.0.0e 6 Sep 2011
----------------------------------------------------------
OpenSSL Header Version   |  OpenSSL 0.9.8r 8 Feb 2011 
Run Code Online (Sandbox Code Playgroud)

-

我的库和标题版本不应该匹配吗?这可能是我错误的原因吗?

JM4*_*JM4 5

值得注意的是,这是在最新版本的apache和php中发现的错误.Apache版本使用了不兼容的文件.要解决(仅暂时在本地计算机上):

替换xampp/apache/bin文件夹中的以下两个文件:

  • 的libeay32.dll
  • ssleay32.dll

使用xampp/php文件夹中的同名文件.这个问题立刻得到了解决.