Jump to content

Internal server error 500 dans le BO


Recommended Posts

Bonjour,

 

Je suis actuellement chez Gandi avec une offre simple hosting (instance). J'ai installé Prestashop et après qq difficulté, le site commence enfin à ressembler à qqch !

 

Par contre, depuis le début, et ce malgrès 3 ré-installation de prestashop (j'ai fais la màj 1.4.7 dernièrement), j'ai un problème dans le back-office. Lorsque je suis dans mes catégories ou produits et que je veux passez à la page suivante ou afficher les résultats par 50/100/300, j'ai une internal server error.

 

Log du server apache :

[Thu May 03 10:30:39.933629 2012] [core:error] [pid 5318:tid 3960146052864] [client 195.176.144.91:42574] Premature end of script headers: index.php, referer: http://www.managames...29...[Thu May 03 10:30:39.933629 2012] [core:error] [pid 5318:tid 3960146052864] [client 195.176.144.91:42574] Premature end of script headers: index.php, referer: http://www.managames...29...

 

Gandi m'ont déjà dis de me rapprocher de la communauté Prestashop car ils ne pouvaient rien faire.

J'ai en effet trouvé des gens avec ce même problème mais n'ont jamais réussi à le résoudre hormis en changeant d'hébergeur. Sauf que je ne peux pas en changer malheureusement.

 

Auriez-vous une idée ou déjà rencontré le même problème ?

 

Merci d'avance de votre aide, je n'arrive pas à trouver la solution, malgrès mes heures de recherche...

Edited by reliklaires (see edit history)
Link to comment
Share on other sites

Personne pour m'aider ? :)

 

Je me sens assez seul pour le coup. J'ai vu en continuant mes recherches que beaucoup de monde chez Gandi (simple hosting) avaient se problème avec Prestashop.

 

Mais aucuns début de solution en vue.

 

Comme je le disais sur un autre topic, il y a toute un arborescence crée sur l'instance virtuelle de Gandi.

 

Elle se présente comme suit pour mon site internet :

 

/lamp0/web/vhosts/www.managames.ch/htdocs/

 

Et tout ces répertoires ont des permissions 775. J'ai lu qq part que les internal server error 500 pouvaient, entre autre, être duent aux permissions... Est-ce possible qu'il faille que ces permissions soient en 755 pour résoudre le problème ?

 

Je ne suis pas assez compétent pour savoir si ça a la moindre influence, alors je m'en remet à vous, si vous passez par là et que vous connaissez la réponse :D

 

Merci d'avance !

Edited by reliklaires (see edit history)
Link to comment
Share on other sites

Bonjour

 

/lamp0/web/vhosts/www.managames.ch/htdocs/

 

Ceci est le chemin et logiquement vous avez accès qu'au htdocs (c'est pas plutôt httpdocs ? )

Maintenant si vous avez accès à www ou managames.ch en ssh et si vous avez les droits nécessaire faire un chmod sur le dossier htdocs ou httpdocs

 

775 c'est les droits Lire Écrire Exécuter pour le système

Lire et Exécuter pour permissions de groupe

Lire et Exécuter pour le public

 

Comme l'installation est une installation public ( via interface web) le programme pourra pas écrire dans le dossier htdocs ou httpdocs vu que les permission de groupes peuvent que Lire et Exécuter.

 

et 755 c'est les droits Lire Écrire Exécuter pour le système

Lire Écrire et Exécuter pour permissions de groupe

Lire et Exécuter pour le public

 

Je connais Gandi mais pas le simple hosting donc je sais pas exactement son fonctionnement.

Link to comment
Share on other sites

  • 5 months later...

Bonjour,

 

Le même problème perdure en 1.5, manifestement il vient des cookies utilisés pour les filtres des listes notamment. Je pense que c'est une configuration particulière de simple hosting, peut être en rapport avec varnish (ou pas...).

 

En tout cas je suis dessus depuis un moment et aucune réponse de gandi à ce sujet qui ne l'interresse pas vraiment. Une solution précaire consiste à vider cache et cookies coté navigateur dès qu'une erreur 500 pointe son pif, ca améliore sensiblement le bouzin.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Je me permet d'apporter ma maigre contribution à ce topic car j'ai également le même souci, à paramètre équivalent.

 

Le site est hébergé sur une instance simple hosting de chez Gandi.

 

La même erreur survient lorsque je navigue entre les pages de commande ou de client.

 

Un joli Internal Server Error survient et dans le fichier de log un beau Premature end of script headers.

 

J'ai bien essayé de supprimer le cache et cookies coté navigateur comme le préconisait commersens, et supprimé le cache généré par Varnish mais en vain.

 

Néanmoins j'ai testé en installant le site sur ma machine en local et là je n'ai aucun problème, ce qui me laisse penser que cela ne vient pas de prestashop mais plutôt de la config php ou autres config des instances simple hosting de chez gandi.

 

Je poursuis mes recherches, mais si quelqu'un a des pistes je suis preneur.

Link to comment
Share on other sites

  • 6 months later...

Bonjour,

 

Ca vient du nombre conséquent de fois que Prestashop positionne les cookies, ainsi que la limite de taille des entêtes HTTP chez Gandi (8 Ko max).

Pour résoudre le problème, il faut empêcher Prestashop d'envoyer toujours le même cookie avec la même valeurs plusieurs fois. Ca diminue ainsi la taille de l'entête HTTP.

 

++

TS

Link to comment
Share on other sites

 

Et tout ces répertoires ont des permissions 775. J'ai lu qq part que les internal server error 500 pouvaient, entre autre, être duent aux permissions... Est-ce possible qu'il faille que ces permissions soient en 755 pour résoudre le problème ?

 

 

Effectivement c'est une des causes on dirait, il y a énormément de reponses sur google sur cette erreur, qui a l'air un peu fouretout.

http://www.liquidweb.com/kb/apache-error-premature-end-of-script-headers/ donne des pistes. Bizarrement moi je dirais que cela ressemble à un souci de mémoire plus que de taille de d'entêtes. Combien de mémoire est allouée à php ? et au total sur la machine ?

 

Pour résoudre le problème, il faut empêcher Prestashop d'envoyer toujours le même cookie avec la même valeurs plusieurs fois. Ca diminue ainsi la taille de l'entête HTTP.

 

Hello,

 

Tu peux m'en dire plus ? :) Merci

Link to comment
Share on other sites

  • 1 month later...

il faut empêcher Prestashop d'envoyer toujours le même cookie avec la même valeurs plusieurs fois.

 

As-tu réussi à traduire cette phrase en code ?

Faut-il faire le test d'existence du cookie et de sa valeur dans la fonction write() du fichier de classe Cookie.php ?

 

Je confirme que cette erreur empêche le filtrage des commandes et des produits dans le back-end sur les solution Simple Hosting de Gandi. La solution proposée dans leur wiki ne permet de résoudre que le problème de la recherche ajax.

 

Peut-être une solution avec une ligne dans le .htaccess pour repousser cette barrière des 8ko max pour les entêtes HTTP ?

Link to comment
Share on other sites

  • 2 months later...

Bonsoir,

 

Du nouveau sur ce problème ?

avec un peu de chance je me dis que la toute dernière version de Prestashop (v1.5.5.0 - Released on August 28, 2013) résout le problème...

 

avec par exemple une utilisation plus systématique de

 

public function exists (...){

   ...

}

de la classe Cookie.php

Edited by arvprod (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

avez-vous de nouvelles pistes pour résoudre ce problème ?

 

Sur deux boutiques, une en 1.5.4.1 et une en 1.5.6  (qui ne sont pas hébergées sur Gandi, mais le problème est le même.. ) j'ai ce même type d'erreurs lors de l'accès au BO.

 

à savoir

 

Premature end of script headers: index.php: ....

 

et

 

à la même seconde : mod_fcgid: read data timeout in 90 seconds:

 

c'était avant à 45 secondes, mais j'ai augmenté cette valeur comme préconisé sur un tuto trouvé sur google. Malheureusement l'erreur 500 apparait encore même avec 90 secondes.

 

J'ai accès à la configuration du serveur via Plesk et ssh. Quelle serait l'élément de la configuration à modifier pour éviter ce type d'erreur à défaut d'avoir quelques chose à modifier dans presta ?

 

Autre chose d'étrange.. Après une installation, j'ai importé le pack langue,devise... Et d'un coup toute les icônes du backoffice ont disparus. Elles pointent maintenant vers img/t/AdminTools.gif  alors qu'elles devraient pointer vers img/admin/

 

Trop bizarre..

Link to comment
Share on other sites

Hello,

Essayez de passer en 1.5.6.1, de mettre le mode_dev à on dans la config et dans l'onglet Performances, de cocher "desactiver tous les modules non natifs" et les overrides aussi. C'est un problème de mémoire a priori qui est différent du problème de cookie evoqué plus haut.

 

Cordialement

 

Merci pour votre réponse,

 

la mise à jour d'une 1.5.6 vers une 1.5.6.1 n'a rien changé à priori. Les icônes sont toujours portées disparus. J'ai essayé de repartir sur une installation propre, mais je n'arrive plus installer prestashop. ça s’arrête à 12% . Les logs me donne la même erreur que les erreurs 500 du Back office pour les boutiques installées.

Link to comment
Share on other sites

 

Merci pour ces liens,

Oui, j'ai cherché des solutions et je suis tombé sur des suggestions similaires.

J'ai augmenté IPCCommTimeout à 90 puis 7200 pour tester, mais a part reporter dans le temps l'erreur, elle n’empêche pas d'arriver.

 

Par contre je n'ai pas de fichier /etc/nginx/nginx.conf sur le serveur, je n'ai donc pas pu tester la méthode du premier lien.

 

J'ai essayé de modifier les valeurs de fcgid comme dans l'un des posts du premier lien:

IdleTimeout 3600ProcessLifeTime 7200MaxProcessCount 64DefaultMaxClassProcessCount 8IPCConnectTimeout 300IPCCommTimeout 7200BusyTimeout 300

 Mais toujours la même erreur dans les logs

Link to comment
Share on other sites

Oui c'est normal vous n'etes pas en nginx.

 

Désolé je connais mal mod_fcgid, je ne saurais vous aider.

 

Cordialement

 

 

Merci pour l'aide en tout cas,

 

après un énième test avec les paramètres ci-dessus. L'installation est passée..  Elle a durée 5-6 minutes ce qui me semble énorme en comparaison à l'habitude, mais c'est passé..

 

Je ne sais pas si c'est une bonne idée de laisser ces paramètres comme ceci à long terme, si quelqu'un maitrise fast cgi passe par là peut m'éclairer la dessus.

 

Cordialement

Link to comment
Share on other sites

Bonjour,

 

Ca vient du nombre conséquent de fois que Prestashop positionne les cookies, ainsi que la limite de taille des entêtes HTTP chez Gandi (8 Ko max).

Pour résoudre le problème, il faut empêcher Prestashop d'envoyer toujours le même cookie avec la même valeurs plusieurs fois. Ca diminue ainsi la taille de l'entête HTTP.

 

++

TS

 

 

Bonjour,

 

Mais cette taille est dans la conf Apache, et elle est mutualisée par domaine pour tous les sites sur le domaine. Ce qui fait que si vous mettez plein de sites sur le même domaine, peu importe la solution, ils partagent ces 8 kilos. Et se connecter à ce domaine, fait que le navigateur renvoi tous les cookies, peu importe la solution. Donc imaginons 5 PrestaShop et 5 WordPress sur le même domaine, et on peut arriver très rapidement à cette saturation. Mais ce n'est pas vraiment un problème sur la constitution du cookie , on ne va pas commencer a retenir en base de données les filtres et sélection des employés en back office. Pour l'instant on passe par le cookie pour stocker cela. A l'avenir on va passer par sessionStorage je pense mais a part augmenter cette valeur dans la conf Apache je ne vois pas comment on peut résoudre ce souci.

 

Cordialement

Link to comment
Share on other sites

  • 7 months later...

Bonjour à tous,

 

Je me permet de remonter le sujet.

 

Venant de migrer un prestashop 1.4.5.1 sur un Gandi Simple Hosting je possède exactement le même problème, à savoir :

Internal Server error : Premature end of script headers: index.php au clic sur suivant/précédent dans le listing des clients/commandes

 

Je n'ai pas vraiment compris vos derniers posts.

La modification fgcid fonctionne ?

 

merci beaucoup,

Maxime

 

Link to comment
Share on other sites

Bonjour à tous,

 

Je me permet de remonter le sujet.

 

Venant de migrer un prestashop 1.4.5.1 sur un Gandi Simple Hosting je possède exactement le même problème, à savoir :

Internal Server error : Premature end of script headers: index.php au clic sur suivant/précédent dans le listing des clients/commandes

 

Je n'ai pas vraiment compris vos derniers posts.

La modification fgcid fonctionne ?

 

merci beaucoup,

Maxime

 

j'avais le même problème chez Gandi et le l'ai résolu en modifiant deux fichiers du coeur de prestashop (pensez à faire une sauvegarde si vous voulez changer d'hébergeur plus tard):

 

---Fichier-----------------------------------

admin\index.php

---Correction--------------------------------

Ligne 83 : (chez moi)

remplacer :

                /* Filter memorization */
                if (isset($_POST) AND !empty($_POST) AND isset($adminObj->table))
                    foreach ($_POST AS $key => $value)

par :

                /* Filter memorization */
                if (isset($_POST) AND !empty($_POST) AND isset($adminObj->table))
                    foreach ($_POST AS $key => $value)
                        echo '';

l'echo vide casse la boucle et empêche un nombre trop important de cookies de se placer et de dépasser la limite des 8k de headers chez Gandi. On perd la mémorisation des filtres, mais ça fonctionne on peut passer d'une page a l'autre dans les listes.

---Fichier-----------------------------------

/classes/search.php

---Correction--------------------------------

ligne 56 (chez moi)

 

Remplacer :

'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'

par :

'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'

A noter que sur cette dernière correction, on peut déjà avoir \x{e000} au lie de \x{d800} dans le fichier, remplacer quand même par e800 :)

 

Enfin, dans préférences->performances j'ai changé l'algo de chiffrement de Rijndael pour la classe interne  Blowfish

Algorithme 
 ( ) Utiliser Rijndael avec la librairie mcrypt.
 (o) Utiliser la classe locale BlowFish

Attention à cette modif, à l'enregistrement on perd tous les cookies du site, à faire quand personne n'est en train de commander :)

 

(et il faut se ré-identifier après avoir enregistré)

 

Une autre modif qui peut aider est d'augmenter l'input time et le max_input_vars

Chez gandi ca se trouve en ftp dans /lamp0/etc/php/php-custom.ini

 

dedans j'ai mis :

max_input_time=300
max_input_vars=15000

(pas la peine d'y mettre un max_execution_time et encore moins un memory_limit, ces deux paramètres sont bloqués par Gandi)

 

le max_input_vars en revanche aide bien pour la génération de déclinaisons :)

 

J'ai encore d'autres erreurs 500 chez Gandi, notamment lorsque je modifie ou crée un produit dans le BO, la modif est bien prise en compte mais j'ai un 500 d'affiché après avoir enregistré, ça m'oblige à revenir en arrière et à recharger la page, mais ça fonctionne. Je ne sais toujours pas ce qui cause celle là.

 

Plus ennuyeux, mon client m'a signalé une 500 sur la génération des étiquette expeditor inet. (et là c'est carrément embêtant).

 

pour info, j'ai trouvé ces modifications dans : http://groups.gandi.net/fr/topic/gandi.fr.hebergement.simple/29220 et dans http://wiki.gandi.net/dokuwiki/fr/simple/common-errors

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

de retour de congé, j'ai effectué la cinquantaine de mises-à-jour automatiques, sous PrestaShop 1.6 ; et depuis j'obtiens cette terrible erreur 500 (je suis bien en Simple Hosting avec Gandi)...

 

J'ai fait de nombreuse recherche, entre les forum de Prestashop et Gandi :
http://www.prestashop.com/blog/fr/erreur-500-prestashop-suivez-le-guide/

http://groups.gandi.net/fr/topic/gandi.fr.hebergement.simple/29220/

(...)

Mais j'ai bel et bien l'impression que malgré un probleme référencé depuis début 2012, ce ne soit toujours pas résolut aujourd'hui ! :(

 

J'ai tenté le joli assemblage d'infos et de correctifs de RxB ci-dessus, mais dès le 1er fichier admin\index.php je n'ai pas la même structure de lignes à corriger...

De plus, je n'ai absolument plus accès au BO, ce n'est donc sans doute pas qu'une affaire de filtre ou de recherche..!

 

Auriez-vous des suggestions ?!

Je suis assez déséspéré car j'ai bien peur que même une reinstallation fastidieuse de la boutique ne change pas grand chose.

 

Merci d'avance !!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...