在KYLIN上装APACHE2.2需将EnableSendfile设置为off

\r
【在KYLIN上装APACHE2.2需将EnableSendfile设置为off】apache2.2安装后,会有html页面无法传输,但默认可以显示 。主要原因是该指令控制httpd是否可以使用操作系统内核的sendfile支持向客户端发送文件 。默认情况下,当处理请求不需要访问文件内部的数据时(比如发送一个静态文件内容),Apache将使用sendfile将文件内容直接发送到客户机,而不需要读取文件(如果操作系统支持的话) 。这种发送文件机制避免了单独的读写操作和缓冲区分配 。因为默认情况下是打开的,所以Kylin不太支持sendfile系统调用 。所以大于一定容量的html页面是无法传输的 。关机不影响正常使用 。同时,默认编译运行时会出现warn[92 protocol not available:fail to enable apr _ TCP _ defer _ accept的警告 。不影响apache的正常运行 。编译前可以在源代码中注释掉APR_TCP_DEFER_ACCEPT的宏定义,运行时不会提示警告 。
\r

    推荐阅读