1.Apache站点下载大文件不完整原因及解决办法
今天在本地测试一个JQuery插件,但是浏览器里一直提示JQuery文件第x行缺少“}”。
刚开始以为是js文件有问题,所以就从官方重新下载了一个JQuery,但还是有同样的问题,重新看了一下代码,没有发现任何问题。
所以我就用火狐测试了一下,也有同样的错误。于是用FireBug看了一下HTTP请求,都是200,没有问题。
但是当我查看请求jquery文件的响应结果时,发现文件是不完整的,只返回了原文件的一小部分。
再用迅雷从请求的地址下载这个js文件,可以下载,下载的文件大小也是对的,但是用编辑器打开后才发现,文件的末尾和原文件是不一样的,
少了一些代码,原来请求回来的文件只是原来文件的一部分。接着我又下载了几个比较小的文件,发现没有问题,但是稍微大一点的文件,比如100KB以上的文件,下载回来的都是不完整的。这种问题还是头一次遇到,没办法,百度谷歌一起来,最后终于找到了问题的所在。
原来是Apache的配置问题,解决办法如下:
只要把Apache的配置文件httpd.conf里<IfModule mime_module>块中的EnableSendfile后的值改为Off即可。
如果没有这一项自己添加上去:EnableSendfile Off,记住要放到上面的块中,不然Apache会启动不起来。
如果不管事可以把EnableMMAP后的值也设为Off试试。
今天在本地测试一个JQuery插件,但是浏览器里一直提示JQuery文件第x行缺少“}”。
刚开始以为是js文件有问题,所以就从官方重新下载了一个JQuery,但还是有同样的问题,重新看了一下代码,没有发现任何问题。
所以我就用火狐测试了一下,也有同样的错误。于是用FireBug看了一下HTTP请求,都是200,没有问题。
但是当我查看请求jquery文件的响应结果时,发现文件是不完整的,只返回了原文件的一小部分。
再用迅雷从请求的地址下载这个js文件,可以下载,下载的文件大小也是对的,但是用编辑器打开后才发现,文件的末尾和原文件是不一样的,
少了一些代码,原来请求回来的文件只是原来文件的一部分。接着我又下载了几个比较小的文件,发现没有问题,但是稍微大一点的文件,比如100KB以上的文件,下载回来的都是不完整的。这种问题还是头一次遇到,没办法,百度谷歌一起来,最后终于找到了问题的所在。
原来是Apache的配置问题,解决办法如下:
只要把Apache的配置文件httpd.conf里<IfModule mime_module>块中的EnableSendfile后的值改为Off即可。
如果没有这一项自己添加上去:EnableSendfile Off,记住要放到上面的块中,不然Apache会启动不起来。
如果不管事可以把EnableMMAP后的值也设为Off试试。