用于 Win x64 的 mod_xsendfile?

Posted

技术标签:

【中文标题】用于 Win x64 的 mod_xsendfile?【英文标题】:mod_xsendfile for Win x64? 【发布时间】:2011-03-05 23:05:08 【问题描述】:

我正在尝试在 Windows (7) x64(使用 Apache 2.2)上安装 mod_xsendfile Apache 模块——是的,我从一开始就注定要失败,我知道 :-)。显然有:

a) mod_xsendfile 没有 Win x64 二进制文件,只有来自 the module's website 的 Win32 二进制文件

b) 来自ApacheLounge 的 apxs 没有 Win x64 二进制文件

我尝试了通常的LoadModule xsendfile_module modules/mod_xsendfile.so,但出现了半明显的错误 (httpd: Syntax error on line 127 of C:/Apache/conf/httpd.conf: Cannot load C:/Apache/modules/mod_xsendfile.so into server: The specified module could not be found.),它与 ​​Win x64 不兼容。

问题仍然存在——如何为 x64 构建模块,这是否可能?我有 VS 和任何可能需要的工具。

我只是想看看这是否会提高我受 Rails 保护的附件的下载速度 - 目前对于简单图像的速度非常可怕。

提前谢谢你!

【问题讨论】:

【参考方案1】:

我能够在我的系统中加载 mod_xsendfile。 这是我的设置:

-Windows 7 Ultimate x64 -Apache/2.2.9(通过 Xampp 1.6.7 安装)

基本上,我只是从这里下载了模块: http://www.apachelounge.com/download/mods/mod_xsendfile-0.9-w32.zip

...解压到apache的“modules”目录,在httpd.conf中添加“LoadModule xsendfile_module modules/mod_xsendfile.so”,然后重启apache。

在此之后,我使用 phpinfo() 检查加载的模块,并且 mod_xsendfile 已经可用。

【讨论】:

该链接已关闭。您可以在此页面上的 x-sendfile 模块部分下找到下载链接apachelounge.com/download【参考方案2】:

我是 mod_xsendfile 的作者。

我提供 win32 二进制文件只是出于礼貌。我仍然建议您从源头构建自己。这样你就可以确定二进制文件没有被篡改,甚至我也没有:p

目前没有来自 Apache 基金会的官方 Win64 Apache2(或 2.2)版本。由于我根据官方二进制文件测试我的构建,因此我不能确定一旦基金会发布官方 Win64 二进制文件,这些二进制文件是否能正常工作。因此,我没有构建 Win64

如果您不是(在 Windows 中)Visual Studio 的新手,那么从源代码构建非常简单。二进制 ZIP 和/或我的 github 存储库包含您可以导入到 Apache 解决方案中的项目文件。有人告诉我,即使是免费的 Visual Studio Express 也足以进行工作构建。事情是开源的。 如果有意外的可移植性问题,我欢迎补丁;)

作为最后的手段,您仍然可以在 Win64 机器上运行官方 Win32 apache + mod_xsendfile。

【讨论】:

好的,我会记得根据经验从源代码构建。感谢您的投入,继续努力!【参考方案3】:

这里是 x32 和 x64 的二进制文件

https://github.com/nmaier/mod_xsendfile

【讨论】:

以上是关于用于 Win x64 的 mod_xsendfile?的主要内容,如果未能解决你的问题,请参考以下文章

_WIN64 未在 x64 项目中定义

QT 5.1.1:QWebview 中的复选框在 Win 7 (x64) / Win 8 下显示奇怪的行为

Windows7家庭普通版(Home Basic)x64官方ISO镜像如何下载

32 位应用程序无法在 x64 Win2003 上运行,原因是

如何将 win32 应用程序迁移到 x64 应用程序?

羽夏看Win系统内核—— x64 番外篇