我们有一台运行 Apache 2.2 的 Windows 服务器。它以前安装了 SlikSVN 1.8.x,我们从 httpd.conf 加载 SVN 模块:
LoadModule dav_svn_module modules/mod_dav_svn.so
我们最近将 SlikSVN 升级到 1.9.4,我没有想到升级后会重新启动服务器,因为一切显然都运行良好。
今天服务器重启了,Apache 服务现在无法启动。事件日志报告:
The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 130 of D:/web_server/apache/conf/httpd.conf: Cannot load D:/web_server/apache/modules/mod_dav_svn.so into server: The Apache service named n\x92est pas une application Win32 valide. .
知道发生什么事了吗?
- 这应该可行吗?mod_dav_svn.so 文件可能被损坏了吗?
- Apache 2.2 的 mod_dav_svn.so 是否与 SVN 1.9 不兼容并且需要 SVN 1.8?那我该怎么办?
- 将 Apache 升级到较新的版本(如何知道哪一个与我使用的 SVN 版本兼容)?
- 我可以获得支持 SVN 1.9 并兼容 Apache 2.2 的新版本 mod_dav_svn.so 吗?因为服务器运行旧的 Redmine 服务,而且我担心 Apache 升级不明显...
答案1
... 名为 Apache 的服务不是有效的 Win32 应用程序
... 名为 Apache 的服务不是有效的 Win32 应用程序。
看起来你已经将 64 位库安装到了 32 位 apache 中
您应该D:/web_server/apache/modules/mod_dav_svn.so
用合适的库来替换。
答案2
我安装的 SVN 1.9 版本(添加到 %PATH%)是 64 位的,而 Apache 是 32 位的。这很可能就是问题所在。
尝试了很多方法之后,我最终安装了带有 SVN 1.9 32 位的 Apache 2.4,现在可以工作了。
我没有机会使用 SVN 1.9 32 位测试 Apache 2.2(因为当我意识到这个 32/64 不匹配时,我已经升级了 Apache),但它可能会起作用。