J'utilise WmapServer 3.1.9 - 64 bits sous Windows 10. Apache 2.4.39 PHP 7.2.18 MySQL 5.7.26 MariaDB 10.3.14 PHP 5.6.40 for CLI (Command-Line Interface)
Je charge une table de base de données via un script PHP. Tout fonctionne très bien sur un serveur externe mais sur Wamp, le script ne charge qu'environ 1 million de lignes puis stoppe, au bout d'environ (car c'est variable) 15 et 17 minutes. Le phénomène est le même que si le script était stoppé via la limite d'exécution de PHP mais il n'y a pas d'erreur.
> Précision : je lance le script via l'invite de commande Windows, Donc, PHP en mode CLI. Dans ce cas, les paramètres pris en compte (max_execution_time, memory_limit, etc.) sont ceux déclarés dans le fichier php.ini de la version PHP utilisée et non pas ceux vus ou modifiés par les items de menu Clic-Gauche -> PHP -> Configuration PHP qui sont ceux de PHP en mode "WEB".
Introduisez toutes les mille lignes, un commit afin de valider ce que vous chargez.
@+
---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mon site : [www.jcz.fr]
Enfin quelque chose qui ressemble à mon problème ! Quelqu'un aura peut être la réponse ?
La mise au point d'un petit site sur wampserveur (pc sous w10) me prenait la tête; pour me changer les idées, je teste son déploiement sur un serveur mutualisé OVH et là, miracle, ma requête qui me faisait soucis en local sous wamp, me récupère bien toutes mes données et bien triées ? Je déploie la même chose sur un autre serveur mutualisé chez OVH et c'est encore OK ! Finalement j'en suis à avoir déployé la même chose sur 2 sites mutualisés chez OVH, 1 VPS sous Ubuntu chez OVH, 1 PC Linux Ubuntu 20.4 en local = Mysql OK (un problème d'accentuation apparait sur mon PC LInux?) J'installe encore la même chose sur 2 Raspberry en local (debian) avec install APACHE PHP MYSQL à chaque fois! Sur les Raspberry, même soucis que sous wampserver (Il manque du monde en sortie et j'ai une répétition de séquence dans le tri et en prime le problème d'accentuation !) Toujours pas trouvé le bon parametrage ; Je compare les variables de mes environnements locaux vu que sur le pc Linux c'est correct mais la lumière ne vient pas ...
NB: Sur tous ces déploiements, phpmyadmin trouve bien le même nombre d'enregistrement et il n'y a pas de problème d'accent ?
> un problème d'accentuation apparait sur mon PC LInux?) Quel problème ? Ma boule de cristal est en révision générale et la divination en fait pas partie de mes compétences. Et puis Linux, c'est pas ici. Ici, c'est WAMP avec W pour Windows.
S'il y a un problème de caractères diacritiques, c'est que vous n'utilisez pas le jeu de caractères idoine.
Effectivement le problème des à é è ç à ... est annexe ! Le Linux était pour identifier le PC sur lequel un Apache,php, mysql que j'ai installé avec mon site et ma bd marchait ? vu que sur mes Raspberry (environnement LInux également ) j'avais les mêmes comportements que sous mes environnements Wampserver sous windows. Tout ça tendrait à démontrer que la réponse est bien dans les paramétrage de ces logiciels. Je résume APACHE PHP MYSQL mon site ma BD : 3 hébergementss OVH, 1 Hébergement Local sur 1 PC sous Linux, c'est OK 4 hébergement en local: 2 Raspberry sous Debian , 2 windows 10 avec wampserver, même comportement erroné ? Toutes les installations que j'ai faites sont avec les paramétres par défaut ...
Je compare les variables de toutes ces installations, mais ne trouve pas ce qui peut expliquer ce changement de comportement, (de même le problème d'accent n'existe que sur les 2 Raspberry et le PC Linux ! C'était en prime ... vu toute la littérature sur les utf8 iso ansi etc j'y trouverais sûrement mon bonheur !) Les requêtes tronquées et le tri erroné (pas aléatoire, le même sur les raspberry el les wampserveur) pour une bd de 5 mio 21000 enregistrements, si quelqu'un a une piste, un grand merci.
Merci de rebondir sur mon dernier message. Pas de message d'erreur ni dans la log Mysql ni dans la log PHP. C'est sensé être du utf8 partout. Mes excuses, c'est le résultat qui est tronqué ! On lit une table mysql et on remplit une ligne de tableau à chaque rupture sur la clé de lecture. J'ai des images écrans, qui pourraient illustrer. Tout ce passe bien, mais c'est faux sur les raspberry et les wamp ? Il manque du monde et il y a plusieurs séquences ? Il est légitime de se poser la question du pourquoi ! Vu qu'il s'agit des mêmes environnements APACHE PHP MYSQL sans intervention sur quoi que ce soit ... n'étant pas un professionnel je m'applique à faire des installations sans anomalies. Ceci dit ,il est vrai, ce n'est pas un problème wampserver mais comme les utilisateurs de wamp ne sont pas tous comme moi et connaissent php mysql sur le fond, je pensais trouvé ici un éclaircissement.
Une telle réponse ne permet absolument pas d'avancer dans une résolution de problème !
> C'est sensé être du utf8 partout. OK ! Mais pour les caractères diacritiques comme un é, vous voyez quoi à la place du é ?
> On lit une table mysql et on remplit une ligne de tableau à chaque rupture sur la clé de lecture. Comment ? Avec un script PHP ? Avec un logiciel ? Avec PhpMyAdmin ? Autre ? Avec quelle requête ? Remplir un tableau de quel type avec quelle requête ? Qu'appelez-vous "rupture" ? Qu'est-ce que la "clé" de lecture ?
Sont-ce les mêmes versions MySQL et PHP entre là où ça fonctionne et ici où ça ne fonctionne pas ?
Il faut être extrêmement précis et exact, une simple virgule manquante a son importance.
De plus, Windows est totalement insensible à la "casse" des noms de fichiers alors que Linux est sensible. Ne pas oublier qu'une table MySQL est un ensemble de plusieurs fichiers de même nom avec des extensions différentes, donc : Sous Linux, les tables myData et Mydata sont deux tables différentes, alors que sous Windows il n'y aura qu'une seule table qui pourra être nommée d'une douzaine de manières : mYdAtA, MyDaTa, MYData, etc. mais ce sera toujours qu'une seule et même table. Voir : MySQL et jeux de caractères