J'ai un script php écrit qui appelle une commande externe en utilisant exec qui compile un résultat de requête de base de données spatiale dans un fichier de forme. Dans les tables avec beaucoup d'enregistrements (disons 15 000), cette commande peut durer jusqu'à 7 minutes. Le script fonctionne bien sur les scripts qui ne prennent pas trop de temps (peut-être < 2min) mais sur les scripts plus longs (comme celui de 7 minutes) la page affichera "500 erreur interne du serveur". Lors de l'examen du journal du serveur Apache, l'erreur indique: "Fin prématurée des en-têtes de script: php-cgi.exe". J'ai déjà ajusté le temps d'exécution maximum de php pour permettre plus que suffisamment de temps, donc je sais que ce n'est pas ça. Y a-t-il un maximum d'Apache qui est touché, ou autre chose?exec de php provoque une erreur «fin prématurée des en-têtes de script: php-cgi.exe»
Répondre
La fin prématurée des en-têtes de script signifie que le délai d'attente du serveur Web pour les scripts CGI a été dépassé par votre script. C'est un timeout de serveur web et cela n'a rien à voir avec la configuration de php.ini. Vous devez examiner la configuration de votre gestionnaire CGI pour augmenter le temps d'exécution des scripts CGI.
E.g. Si vous utilisez mod_fastcgi, vous pouvez spécifier l'option suivante dans votre configuration Apache: FastCgiServer -idle-timeout 600
qui vous donnera un délai de 10 minutes. Par défaut, fastcgi fournit 30 secondes. Vous pouvez trouver d'autres options fastcgi ici http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
Apparemment, le fichier httpd.conf par défaut inclus dans Apache 2.4 ne comprend pas automatiquement le fichier supplémentaire httpd-default.conf sous/conf/extra (probablement par la conception) , qui inclut le paramètre timeout. Comme le paramètre timeout n'est pas défini, il revient à la valeur par défaut de 30 secondes et vos scripts expirent.
j'ai fait ce qui suit pour le résoudre:
- Ouvert httpd.conf et a ajouté la ligne suivante au fond:
confInclure fichier conf/extra/httpd par défaut.
- Restarted Apache, et ça a marché.
Une alternative serait d'ajouter simplement la ligne suivante (s) au httpd.conf fichier:
Délai d'attente 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Espérons que cela aide quelqu'un là-bas :)
- 1. erreur « Fin prématurée des données » avec PHP
- 2. Erreur: Fin prématurée des en-têtes de script
- 3. Perl "Fin prématurée des en-têtes de script" erreur
- 4. Fin prématurée des en-têtes de script (Perl)
- 5. Fin prématurée des en-têtes de script sur index.php magento
- 6. Fin prématurée des en-têtes de script: php5 Symfony génère une erreur de serveur interne 500
- 7. Ruby Apache CGI Fin prématurée des en-têtes de script
- 8. Apache avec passager donne une erreur (fin prématurée des en-têtes de script) en mode développement
- 9. 500 Erreur de serveur: fin prématurée des en-têtes de script:
- 10. Python CGI Fin prématurée de l'erreur de script en fonction des paramètres de script
- 11. Trac, mod_wsgi, en-têtes de fin prématurée de script
- 12. exec provoque une charge perpétuelle
- 13. Savon fin prématurée
- 14. django-social-auth erreur 500: Fin prématurée des en-têtes de script: django.wsgi
- 15. Erreur interne du serveur: Fin prématurée des en-têtes de script dans file.cgi
- 16. Le script provoque une erreur
- 17. Données de formulaire corrompues: fin prématurée (Résolu)
- 18. Fin prématurée des en-têtes de script de git-http-backend
- 19. Fin prématurée de l'analyse du fichier XML
- 20. exécuter une commande de script exec de php
- 21. java.io.IOException: données de formulaire corrompu: fin prématurée
- 22. org.xml.sax.SAXParseException: Fin prématurée du fichier
- 23. Fin prématurée des en-têtes de script wsgi avec flask sur xampp
- 24. Ruby: Split: Fin prématurée de l'expression régulière
- 25. org.xml.sax.SAXParseException: fin prématurée du fichier
- 26. org.xml.sax.SAXParseException: Fin prématurée du fichier
- 27. PHP: Utiliser les sous-commandes SVN et les options dans exec() provoque une "erreur de segmentation"?
- 28. @dl php provoque une erreur
- 29. PHP SOAP Fin prématurée des données dans les définitions de balises ligne 2
- 30. fin prématurée du fichier dans Eclipse