【发布时间】:2013-03-10 08:24:12
【问题描述】:
最终更新:Bitnami 将在计划于 2013 年 4 月 8 日左右发布的下一个版本中将 mod_xsendfile 包含到 MAPP 堆栈中。
我尝试在我的 mappstack5.4.12-0 上编译和安装 mod_xsendfile。我尝试了两种方法,但每次都失败了:
方法 1:使用 apxs 自动安装。 问题 => 运行命令“apxs -cia mod_xsendfile.c”时,apxs 正在尝试安装 mod_xsendfile我的 mac 没有将其安装在 mappstack 上并且失败,因为尝试在该保护区创建 .so 文件时权限被拒绝。
方法 2:使用 apxs 编译并在 Apache 中手动安装。 问题 => 在一个文件夹中运行命令“apxs -c mod_xsendfile.c”时我完全拥有它,它生成一个 .slo 文件而不是一个 .so 文件。
如何将此 .slo 文件转换为 .so 文件?我在 google 中找不到任何与 .slo 文件相关的结果,也找不到关于我的 2 个问题的任何有用信息。
使用 .so 文件,我可以使用以下参考资料中的说明在 Apache 中手动安装 mod_xsendfile:
我不能发布超过 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/2193168 中的说明在 MAPPstack 上安装 mod_xsendfile,但在重新启动 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
【问题讨论】:
-
仅供参考:我在 bitnami 帮助论坛上提出了同样的问题,并将在两个站点上发布最终答案。请参阅:questions/11701/how-to-compile-and-install-mod_xsendfile-on -mapp-stack
-
Bitnami 正在考虑将 mod_xsendfile 添加到此 bitnami 堆栈中。如果他们决定包含它,简单的解决方案是等到他们这样做。但是,有人在这里解释解决方案仍然很好......
-
这篇其他 stackoverflow 帖子是相关的,可能会回答这个问题:stackoverflow.com/questions/9101566/…
-
根据answer,这可能是架构问题。但是,当使用 file 命令时,我得到了“mod_header”和“mod_xsendfile”的相同信息,即:Mach-O 64-bit bundle x86_64。所以它看起来不像是架构问题。
-
好消息,Bitnami 确认他们将在 Bitnami MAPP 堆栈的下一版本中包含 mod_xsendfile。
标签: macos apache bitnami x-sendfile