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

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

我创建了一个可移植的(相对路径)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 位系统兼容的方式)吗?

答案1

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

我注意到在跟踪结束时(就在出错之前)httpd加载文件。我尝试将来自libeay32.dlllibeay32.dll64 位 Apache 软件包我从 Apachebin目录中的 ApacheLounge 中获取了该信息,但它仍然给出了相同的错误。(我想这应该不奇怪,因为它之前加载的文件已经是某个文件夹的 64 位副本,该文件夹位于PATH笔记本电脑的 64 位驱动程序安装的位置。)

然后我把32 位备份libeay32.dll ssleay32.dll),这是我从标准包中获得的,瞧!Apache 在 64 位系统上运行 SSL 支持!此外,由于的副本libeay32.dll是 32 位的,因此它仍可在 32 位系统上运行无需修改(即,无需检测系统和替换文件,甚至无需破解配置文件)!

(我很高兴把错误信息放在了问题标题中,因为它有望帮助其他遇到这个问题的人——这个问题困扰了我几个月——找到这个页面,最终找到解决方案。☺)

答案2

我们有 64 位 mod_jk.so,可以从以下位置下载这里按版本。希望这对您有帮助。

相关内容