У меня есть приложение cakephp, которое работает на многих других машинах, но когда я установил его на одном конкретном компьютере с Ubuntu / Apache2 / PHP 5.3.3, в каждом загружаемом файле добавляется дополнительная новая строка, вставленная в начале файла.
Мои изображения не будут отображаться в моем браузере с этого сервера, и когда я щелкну правой кнопкой мыши >>> сохранить изображение как, изображение будет сохранено с дополнительной новой строкой в начале.Это сохраненное изображение не отображается на моем локальном компьютере, но как только я удаляю лишнюю новую строку, изображение отображается нормально.
То же самое происходит с текстовыми файлами, загруженными из этого приложения (приложение позволяет пользователям загружать файлы).и загрузить файлы, такие как эти текстовые файлы и изображения).Все сохраненные изображения на сервере верны, я могу скопировать их на свой локальный компьютер, и они отображаются правильно, поэтому новая строка каким-то образом добавляется из моего приложения при рендеринге.
Я сделал простой тестовый скрипт (украден изphp.net), который работает на этом же сервере в качестве автономного сценария php:
<?php
ob_clean();
header("Content-type: image/gif");
$im = imagecreate (100, 50);
imagegif($im);
imagedestroy($im);
?>
Когда я использую этот сценарий, включенный в мое приложение, в точке, где я обычно отображаю изображения, я получаю то же самоеповедение: это изображение не отображается, но когда я щелкаю правой кнопкой мыши >>> сохранить изображение как, я могу загрузить изображение, удалить новую строку и правильно отобразить сгенерированный gif черного ящика.
Iдаже думал, что вызов ob_clean () удалит все предыдущие данные в буферах, но это не так (или я должен сказать, что это не решило мою проблему).
Есть идеи о том, как отладить это?