2015-09-11 2 views
0

L'une de mes applications est le rendu d'un fichier PDF volumineux. Après avoir réglé certains paramètres sur mon PHP, j'ai remarqué que suPHP lançait une erreur de 500 pages après 5 minutes d'exécution du script. Cependant, je ne veux pas désactiver le temps maximum puisqu'il s'agit d'un serveur web avec plusieurs clients. Maintenant, quelqu'un m'a dit une solution possible:Le script a expiré avant le retour des en-têtes: script.php, référenceur http: //

Désactiver la compression GZIP sur le script

Lorsque l'exécution du script, ajouter des en-têtes supplémentaires, PHP sait qu'il doit traiter l'ensemble de script

Sortie rincage après avoir rendu le PDF

Cependant, je n'ai jamais fait une telle chose et je n'ai vraiment aucune idée de comment accomplir cela. Quelqu'un peut me diriger dans la bonne direction?

+1

Est-ce qu'un rendu de PDF signifie simplement créer un fichier pdf? ou en le créant et en le diffusant en même temps (ou quelque chose comme ça)? –

+0

Dans ce cas, il suffit de le diffuser dans le navigateur sans aucun fichier sur le serveur en cours de création. – Jordy

Répondre

1

Fondamentalement, le quelqu'un vous a dit de

  • rendre/créer le pdf et au lieu de l'envoyer comme vous créez, la stocker dans une mémoire tampon.
  • Puis l'envoyer à l'utilisateur avec les en-têtes nécessaires.

Pour créer pdf et de stockage en regard de tampon dans mise en mémoire tampon de sortie - ob_start(), ob_flush() Fonctions

Pour envoyer le contenu de la mémoire tampon, this answer devrait aider.

Je ne suis pas sûr de savoir si/comment désactiver la compression gzip aidera, mais cela peut être fait en utilisant les méthodes ini_set.

+0

Super, va essayer ça maintenant ^^ – Jordy

+0

Désolé pour la réponse lente. D'autres délais se sont écoulés entre. Votre réponse m'a indiqué la bonne voie et a résolu les délais d'attente. – Jordy