64位Windows上的Apache SSL(不是有效的Win32应用程序)

Modified on: Mon, 16 Sep 2019 23:00:02 +0800

我已经创建了一个可移植的(相对路径)Apache安装。它在我的32位系统上运行良好,但是当我尝试在64位系统上运行它时,它会出现以下错误:

>httpd -t
httpd: Syntax error on line … of …/httpd.conf: Cannot load …/modules/mod_ssl.so into server: %1 is not a valid Win32 application.

如果我注释掉包含SSL.conf的行,那么服务器在64位系统上运行,但当然没有SSL支持。

我试过这个但是找不到任何有用的东西。有谁知道如何让Apache在64位系统上使用SSL(最好是以与32位系统兼容的方式)?

作者:user130370,Synetech

最佳答案

使用进程监视器,我观察了文件和注册表项访问Apache在加载时所做的。

我注意到httpd在跟踪结束时(在错误输出之前)加载文件libeay32.dll。我尝试从64位Apache软件包中放入libeay32.dll的副本/ a>我从Apache的bin目录中的ApacheLounge获得,但它仍然给出了同样的错误。 (我想这不应该是一个惊喜,因为它以前加载的文件已经是某个文件夹中的64位副本 - 位于PATH中 - 其中一个是笔记本电脑的64位安装了驱动程序。)

然后我放了一个32位libeay32.dll ssleay32.dll)副本我从标准包装中获得了etvoilà! Apache在64位系统上运行SSL支持!此外,由于libeay32.dll的副本是32位,它仍然在32位系统上运行无需修改(即,没有检测到系统并替换文件或甚至混淆黑客)!

(我很高兴我把错误信息放在问题的标题中,因为它有希望帮助引导其他人解决这个问题 - 我几个月来一直努力 - 到这个页面,他们终于找到了解决方案.☺ )

作者:Synetech

相关问答

添加新评论