2015-09-11 4 views
0

Одним из моих приложений является рендеринг огромного PDF-файла. После настройки некоторых параметров на моем PHP я заметил, что suPHP выдает ошибку за 500 страниц после 5 минут запуска скрипта. Однако я не хочу отключать максимальное время, так как это веб-сервер с несколькими клиентами на нем. Теперь кто-то сказал мне возможное решение:Сценарий вычеркивается до возврата заголовков: script.php, refererer http: //

отключить сжатие GZIP на скрипте

Когда скрипт работает, добавить дополнительные заголовки, так PHP знает, он должен обрабатывать весь сценарий

Flush выход после рендеринга PDF

Однако я никогда не делал такого, и я действительно не знаю, как это осуществить. Может ли кто-нибудь указать мне в правильном направлении?

+1

Это делает PDF здесь означает просто создание PDF-файла? или создавать его и передавать его в одно и то же время (или что-то в этом роде)? –

+0

В этом случае он просто передает его в браузере без каких-либо файлов на создаваемом сервере. – Jordy

ответ

1

В основном кто-то сказал вам

  • визуализации/создать PDF и вместо того, чтобы отправить его, как вы создаете его, храните его в буфере.
  • Затем отправьте его пользователю с необходимыми заголовками.

Для создания PDF и хранения в буфер вид на буферизацию вывода - ob_start(), ob_flush() функции

Для отправки содержимого буфера, this answer должно помочь.

Я не уверен, как это сделать, если отключить сжатие gzip, но это можно сделать с помощью методов ini_set.

+0

Отлично, попробую это прямо сейчас ^^ – Jordy

+0

Извините за медленный отклик. Между ними были и другие крайние сроки. Ваш ответ указал мне правильно и решил тайм-ауты. – Jordy