lucho84 Posted March 27, 2017 Share Posted March 27, 2017 Bonjour, J'ai une boutique en PS 1.6.1.12 qui fonctionne en FO sans problème, en BO également, sauf lorsque je charge les modules, 1 fois sur 10 j'ai une erreur HTTP 500 Internal Server Error je rafraichis la page et ça repart. Je précise que le problème est totalement aléatoire donc impossible d'activer le mode debug. Auriez vous des conseils pour tenter de résoudre ce bug? Link to comment Share on other sites More sharing options...
BeComWeb Posted March 28, 2017 Share Posted March 28, 2017 Bonjour, Dans de très nombreux cas, ce genre de bug aléatoire est dû à un hébergement trop léger Link to comment Share on other sites More sharing options...
lucho84 Posted March 28, 2017 Author Share Posted March 28, 2017 Je viens de vérifier, j'ai un VPS cloud de chez OVH 2014 avec un CPU AMD Opteron Processor 6386 SE 2,8 Ghz (12 Mo de cache) + 2 Go de RAM + 20 Go SSD en RAID10 + Plesk Web Admin 14.04 on Ubuntu. Mon site fait 450 Mo et ma bdd 7,8 Mo, j'ai monitoré pendant le chargement de la page module et je n'ai pas de pic de surconsommation (tout reste dans la normal). Sur mon monitoring (7 jours), je n'ai aucun pic de saturation, rien qui pourrait expliquer cela. Je remarque que j'obtiens cette erreur après 30 - 40 s de chargement de la page (le chargement de la page des modules lorsque je n'ai pas d'erreur prend environ 45 s ce qui est long) Je vais regarder les logs de mon serveur voir si j'ai pas une erreur lorsque le HTTP 500 apparait et vous tine au courant. Link to comment Share on other sites More sharing options...
BeComWeb Posted March 28, 2017 Share Posted March 28, 2017 Ok on peut partir du principe que l'hébergement est assez costaud alors. Y a des chances que ça vienne d'un module en particulier (et si c'est le cas ça viendrait certainement d'un module qui a le paramètre "need_instance" sur true). Les logs t'en diront plus et sinon tu peux essayer de désactiver les modules "non Prestashop" aussi Link to comment Share on other sites More sharing options...
lucho84 Posted March 29, 2017 Author Share Posted March 29, 2017 Bonjour BeCom, J'ai regardé les logs de mon serveur lors du dernier HTTP 500 et j'obtiens cela : [Wed Mar 29 11:01:33.887041 2017] [fcgid:warn] [pid 1957] [client 90.73.210.20:34960] mod_fcgid: read data timeout in 45 seconds, referer: http://www.test.com/admin.web/index.php?controller=AdminLogin&token=b8bc998d1536078cacdf344cc7c7ce7f&redirect=AdminModules [Wed Mar 29 11:01:33.887103 2017] [core:error] [pid 1957] [client 90.73.210.20:34960] End of script output before headers: index.php, referer: http://www.test.com/admin.web/index.php?controller=AdminLogin&token=b8bc998d1536078cacdf344cc7c7ce7f&redirect=AdminModules [Wed Mar 29 11:04:18.870879 2017] [fcgid:warn] [pid 1957] [client 90.73.210.20:35138] mod_fcgid: read data timeout in 45 seconds, referer: http://www.test.com/admin.web/index.php?controller=AdminModules&token=396944a531e110a2578df2b171266231 [Wed Mar 29 11:04:18.870932 2017] [core:error] [pid 1957] [client 90.73.210.20:35138] End of script output before headers: index.php, referer: http://www.test.com/admin.web/index.php?controller=AdminModules&token=396944a531e110a2578df2b171266231 [Wed Mar 29 11:04:18.891169 2017] [fcgid:warn] [pid 27658] [client 90.73.210.20:35140] mod_fcgid: read data timeout in 45 seconds, referer: http://www.test.com/admin.web/index.php?controller=AdminModules&token=396944a531e110a2578df2b171266231 [Wed Mar 29 11:04:18.891253 2017] [core:error] [pid 27658] [client 90.73.210.20:35140] End of script output before headers: ajax-tab.php, referer: http://www.test.com/admin.web/index.php?controller=AdminModules&token=396944a531e110a2578df2b171266231 Je vais regarder à quoi corresponde ces erreurs, mais auriez une idée? Link to comment Share on other sites More sharing options...
BeComWeb Posted March 29, 2017 Share Posted March 29, 2017 OK mais tu as regardé quels modules s'instancient au chargement de la page ? Autrement quels modules ont la propriété $this->need_instance sur true (ou 1) ? Link to comment Share on other sites More sharing options...
lucho84 Posted March 30, 2017 Author Share Posted March 30, 2017 Bonjour BeCom, Comment savoir les modules s'instancient au chargement de la page? Où doit on regarder pour savoir si un module a la propriété $this->need_instance? Pour le warning, c'est un réglage php à faire sur mon serveur je vais augmenter le délai du timeout, Par contre pour le End of script output before headers: index.php je nage un peu, apparemment ça viendrai du timeout. Link to comment Share on other sites More sharing options...
BeComWeb Posted March 31, 2017 Share Posted March 31, 2017 La propriété est déclarée dans le constructeur de chaque module. Tu télécharges ton répertoire "modules" et avec ton éditeur de texte tu fais une recherche multi-dossiers sur le terme $this->need_instance = 1 Link to comment Share on other sites More sharing options...
lucho84 Posted March 31, 2017 Author Share Posted March 31, 2017 Bonjour, Concernant le répertoire modules s'agit il de celui à la racine de mon thème ou celui à la racine de /www/ ? Le fichier à ouvrir est, je suppose, celui qui s'appelle nomdumodule.php, est ce bien cela? Link to comment Share on other sites More sharing options...
BeComWeb Posted March 31, 2017 Share Posted March 31, 2017 Oui c'est le répertoire en racine et le fichier principal du module Link to comment Share on other sites More sharing options...
lucho84 Posted March 31, 2017 Author Share Posted March 31, 2017 Ok je regarde ça ce weekend et je te dirais le résultat Link to comment Share on other sites More sharing options...
lucho84 Posted April 6, 2017 Author Share Posted April 6, 2017 (edited) Bonjour BeComWeb, J'ai donc regarder dans les fichiers nomdumodule.php dans le dossier module à la racine du /www/ sur mon ftp, j'ai 4 fichiers qui ont cette $this->need_instance = 1 : cashondelivery.php eicaptcha.php eurovatgenerator.php mailchimp.php (que j'ai ajouté en début de semaine donc le HTTP 500 était déjà présente) Qu'en pensez vous? Faut il que je cherche dans d'autres dossiers? Petite précision, je viens de voir que je n'ai aucun aucun module installé et activé pour la génération de TVA européenne. De même sur mes anciens backup j'ai bien le dossier de ce module mais dans ce dernier je n'ai que le dossier Translation alors qu'actuellement j'ai le fichier php ainsi que les tpl. Comment est ce possible d'avoir ce module installé alors que sur le BO je n'ai rien (peut être suite à la MAJ à PS 1.6.1.12?) Je vois le module que je peux installer et activer mais à l'heure actuelle ce n'est pas le cas, faut il l'installer? Edited April 6, 2017 by lucho84 (see edit history) Link to comment Share on other sites More sharing options...
lucho84 Posted April 18, 2017 Author Share Posted April 18, 2017 Bonjour BeComWeb, Peux tu me dire ce que tu en penses stp? Merci Link to comment Share on other sites More sharing options...
BeComWeb Posted April 19, 2017 Share Posted April 19, 2017 J'en pense que le contraire de 1/true c'est 0/false Donc si cette piste est bonne (ce qui n'est pas dit), en passant la valeur de $this->need_instance sur 0 au lieu de 1 pour ces 4 modules le bug va disparaître. Link to comment Share on other sites More sharing options...
lucho84 Posted April 19, 2017 Author Share Posted April 19, 2017 Bonjour BeComWeb, Ok mais si certains de ces 4 modules doivent avoir la valeur à 1, y a t'il une incidence sur le fonctionnement de ces derniers si je les passe à 0? Link to comment Share on other sites More sharing options...
Matt K. Posted April 20, 2017 Share Posted April 20, 2017 Salut ! C'est fort possible, mais ça te permettra de cibler le module qui te pose problème. Link to comment Share on other sites More sharing options...
BeComWeb Posted April 20, 2017 Share Posted April 20, 2017 C'est réversible et à vue de nez je dirais que de toute façon ça n'impactera pas le fonctionnement des 4 modules cités. En gros la méthode c'est de désactiver l’instanciation des 4 modules au chargement de la page "Modules" du BO et de voir si ça résout le problème (ce qui n'est pas certain, c'est une piste mais pas forcément LA solution). Si ça fonctionne tu en "réactives" 2. Si ça fonctionne toujours tu en réactives 1 sur les 2 restants. Etc... Tu fais une élimination "en entonnoir". Link to comment Share on other sites More sharing options...
lucho84 Posted April 20, 2017 Author Share Posted April 20, 2017 Ok je vais essayer et je te tiens au courant, Merci Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now