Я создал простое действие в symfony, которое генерирует PDF-файл через wkhtmltopdf и выводит его в браузер.
Вот код:
$response = $this->getResponse();
$response->setContentType('application/pdf');
$response->setHttpHeader('Content-Disposition', "attachment; filename=filename.pdf");
$response->setHttpHeader('Content-Length', filesize($file));
$response->sendHttpHeaders();
$response->setContent(file_get_contents($file));
return sfView::NONE;
Это прекрасно работает в моей локальной среде разработки - мой браузер получает заголовки, как и ожидалось, показывая диалог загрузки.
Теперь я обновил свою среду тестирования, используя Apache 2.2.9-10 + lenny9 с PHP 5.3.5-0.dotdeb.0.
Если я сейчас позвоню по этому URL для среды тестирования, мой браузер не получит никаких пользовательских заголовков:
Date Mon, 07 Mar 2011 10:34:37 GMT
Server Apache
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Если я установлю их вручную через header () в своем действии, Firebug покажет заголовки, как и ожидалось.
Кто-нибудь знает, что может быть не так? Это ошибка Symfony или проблема конфигурации php или apache2? Я не понимаю : - /
Заранее спасибо!