最终更新:Bitnami 将在计划于 2013 年 4 月 8 日左右发布的下一个版本中将 mod_xsendfile 包含到 MAPP 堆栈中。
mod_xsendfile
我已经尝试在我的 mappstack5.4.12-0 上编译和安装。我尝试了两种方法,但每次都失败了:
方法一:使用apxs自动安装。问题 => 运行命令“apxs -cia mod_xsendfile.c”时,apxs 试图在我的 Mac 上安装 mod_xsendfile,而不是在 mappstack 上安装它并且失败,因为尝试在该保护区创建 .so 文件时权限被拒绝。
方法二:用apxs编译,在Apache中手动安装。问题 => 在我完全拥有的文件夹中运行命令“apxs -c mod_xsendfile.c”时,它会生成 .slo 文件而不是 .so 文件。
如何将此 .slo 文件转换为 .so 文件?我在 google 中找不到任何与 .slo 文件相关的结果,也找不到关于我的 2 个问题的任何有用信息。
使用 .so 文件,我可以mod_xsendfile
使用以下参考资料中的说明在 Apache 中手动安装:
我不能发布超过 2 个网址,但这里是每个网址的相关部分:
- web-developpeur-php.com/blog/article/mod-xsendfile-forcer-le-telechargement-avec-apache-php
- codeutopia.net/blog/2009/03/06/sending-files-better-apache-mod_xsendfile-and-php/
- elivz.com/blog/single/mod_xsendfile/
apxs 的 Apache 手册: http ://httpd.apache.org/docs/2.2/programs/apxs.html
这是我第一次使用apxs,我对编译c代码不太了解
谢谢。
PS:我能够按照 stackoverflow 答案https://stackoverflow.com/a/9615149/2193168mod_xsendfile
中的说明安装在 MAPPstack 上,但是在重新启动 Apache 时出现错误。
httpd: Syntax error on line 529 of /Applications/mappstack-5.4.12-0/apache2/conf/httpd.conf:
Cannot load /Applications/mappstack-5.4.12-0/apache2/modules/mod_xsendfile.so into server:
dlopen(/Applications/mappstack-5.4.12-0/apache2/modules/mod_xsendfile.so, 10):
Symbol not found: _ap_log_rerror
Referenced from: /Applications/mappstack-5.4.12-0/apache2/modules/mod_xsendfile.so
Expected in: flat namespace
in /Applications/mappstack-5.4.12-0/apache2/modules/mod_xsendfile.so