Problème traitement de requête mysql/php
Bonjour,
Alors voilà , j'ai construit une plateforme sous mysql/php qui traite un certain état de stock et une gestion de flux,
Tout fonctionne super bien depuis bien 2-3 mois , mais voilà alors qu'il m'est apparut un bug que je n'arrive pas à traiter , je m'explique :
Concernant les Entree en stock , je possède une liste d'environ 300-400 produits , j'ai donc un script formulaire où je rentre mes quantités , du classic.
Concernant mon fichier php cible , son fonctionnement est le suivant , tres classic aussi , il boucle sur toute mes lignes de ma table contenant mes produits , et de la il contrôle si il existe un POST le concernant ce produit ou non , et auquel cas il modifie la table contenant l'état des stock , ainsi qu'une table contenant les entrées de produit .
Donc voilà maintenant le problème , lorsque le programme boucle sur tout les produits , à partir d'un certain nombre ( je relève environ le 230 eme de la table ) il arrête et sort de la boucle , ne prenant donc pas en comptes les POST effectuer à partir de ce produit , mais pour les précédents aucun problème .
J'ai d'abord contrôler en direct sous phpmyadmin la table produit et je constate aucune anomalie flagrante dans la table , tout les produits sont bien dans la continuitée des précédents.
J'ai vérifier encore et encore mon script , et apparent rien ne peut le faire sortir de la boucle comme ca.
J'ai donc alors penser à un problème de complexité , qui forcerais directement php à sortir de la boucle , mais ça me paraîtrais quand même tres bisarre étant donnée que je n'ai pas vraiment beaucoup de produits .
J'attend alors vos recommandations , questions , solutions avec impatiente .
Merci d'avance
Salutations
Réponses apportées à cette discussion
Salut,
il faudrait vérifier dans le php.ini (ou dans un phpinfo) si l'exécution ne dépasse pas la max_execution_time. Par défaut, c'est 30 secondes, donc au besoin, il faudrait le monter à une valeur plus importante.
Salut, j'ai testée en mettant de très grande valeurs , mais le problème est toujours la ..
Je ne l'ai pas précisé, mais après avoir modifié le php.ini, il faut redémarrer Apache pour que ce soit pris en compte... ça pourrait venir de là ?
Je fonctionne sous un hébergeur mutualisé , je ne crois pas avoir accès à ca , j'ai déjà dut changer de version de php pour pouvoir augmenter mes valeurs.
Je précise donc que je doit modifier tout cela via cPannel
Ha... sous mutualisé, impossible de modifier le php.ini.
par contre, il reste possible de modifier le max_execution_time dynamiquement avec ini_set() ... si la fonction n'est pas bloquée par l'hébergeur, à vérifier.
Sinon, il va falloir trouver une manière d'optimiser le code et/ou de découper l'exécution de telle sorte que chaque tranche ne dépasse jamais 30 secondes.