Назад | Перейти на главную страницу

Apache возвращает усеченное изображение

Я вызываю изображение непосредственно через firefox (без PHP или другого скриптового кода), и похоже, что Apache возвращает либо усеченное, либо поврежденное изображение.

Я получаю верхние 5-10% изображения. Похоже, я получаю полную информацию о ширине и высоте.

Если я нажму «обновить» (в firefox), я получу еще около 5 строк изображения. И если я снова нажму «Обновить», я получу еще 5 строк.

В IE я получаю те же начальные 5-10% от вершины файла. Но освежить меня больше не дает.

Передача изображения по сети через подключенный диск показывает все изображение. (так что само изображение (я) кажется в порядке).

(Если я укажу firefox на изображение через подключенный диск, а не через Apache, firefox отобразит изображение нормально. Так что, похоже, проблема в Apache)

Любые идеи?

На какой это операционной системе? Является ли файл, который вы обслуживаете, локальным для сервера, на котором работает apache, или он также доступен по сети?

Вы можете попробовать следующие директивы в своем файле конфигурации Apache httpd, чтобы узнать, вызвано ли это проблемами с использованием sendfile-systemcall или MMAPing:

EnableSendfile Off
EnableMMAP Off

(http://httpd.apache.org/docs/2.2/mod/core.html есть больше информации о них)

Я видел, что эти двое были виновниками раньше, но только если с подсистемой хранения происходило что-то странное. Обычно отключать их - плохая идея, так как это снижает производительность.