Syn*_*ech 6 windows ssl 32bit-64bit apache-2.2
我创建了一个可移植的(相对路径)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.
Run Code Online (Sandbox Code Playgroud)
如果我注释掉包含 的行SSL.conf,则服务器在 64 位系统上运行,但当然没有 SSL 支持。
我试过搜索这个,但找不到任何有用的东西。有谁知道如何让 Apache 在 64 位系统上使用 SSL(最好以与 32 位系统兼容的方式)?
Syn*_*ech 10
使用Process Monitor,我观察了 Apache 在加载时进行的文件和注册表项访问。
我注意到在跟踪结束时httpd加载文件libeay32.dll(就在它出错之前)。我尝试将我从 ApacheLounge 获得libeay32.dll的64 位 Apache 包的副本放入 Apache 的bin目录中,但它仍然给出了相同的错误。(我想这应该不足为奇,因为它之前加载的文件已经是某个文件夹中的 64 位副本,该文件夹位于PATH安装了笔记本电脑的 64 位驱动程序之一的文件夹中。)
然后我放了一个32 位的libeay32.dll(和 ssleay32.dll)副本,我从标准包中得到,等等!Apache 在 64 位系统上运行时支持 SSL!而且,因为副本libeay32.dll是32位的,所以它仍然可以在32位系统上运行而无需修改(即没有检测系统和替换文件甚至是conf-file hacks)!
(我很高兴我将错误消息放在问题的标题中,因为它有望帮助其他人解决这个问题 - 我已经挣扎了几个月 - 到这个页面,他们最终可以找到解决方案。?)
| 归档时间: |
|
| 查看次数: |
19528 次 |
| 最近记录: |