Question

J'ai un serveur WAMP 2.0 installé sur Windows XP. Version Apache: 2.2.11 Version PHP: 5.3 MySQL: 5.1.36

J'ai environ 11 tables dans le mysql. Chaque exécution de mon application Web (HTML / Jquery / PHP / MySQL) remplit environ 100 lignes dans deux des tables (l'une des tables contient 2 longues colonnes blob où des données d'une taille maximale de 20 Mo sont téléchargées, j'ai modifié la taille de Max_allowed_packet. 32M dans le fichier my.ini)

L'application fonctionne correctement pendant environ 3 semaines jusqu'à ce que le nombre de lignes de l'une des tables atteigne > 1 500.

Puis je vois le message d'erreur httpd (Apache httpd a rencontré une erreur et doit être fermé ) et il est dit référence de mémoire illégale Veuillez trouver ci-dessous quelques journaux

szAppName : httpd.exe     szAppVer : 2.2.11.0     szModName : php5ts.dll     
szModVer : 5.3.0.0     offset : 0000c309     


C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\httpd.exe.mdmp
C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\appcompat.txt

Si je supprime les deux tables (1 500 > lignes). On voit encore le problème.

J'utilise PDO PHP pour mettre à jour les tables.

Quelqu'un peut-il me guider car cela devient un bloqueur?

Cordialement, Mithun

Était-ce utile?

La solution

PROBLÈME:

Je soupçonne que vous frappez un mur de 2 Go de taille de fichier. 2 problèmes avec votre configuration:

  • Premier problème: vous utilisez ceci sous Windows.
  • Deuxième problème: vous utilisez ceci sous Windows. : -)

RAISON:

Blague à part, Mysql stocke les données dans son dossier racine (par exemple, C: \ Program Files \ MySQL \ MySQL Server 5.0 \ data). Chaque sous-dossier correspond à une base de données dans votre instance de MySQL. Dans chaque dossier, il y a un fichier avec l'extension .frm qui correspond à vos tables. Vérifiez que la table dans laquelle vous stockez vos téléchargements approche une limite de 2 Go. Considérant que vous avez une colonne qui stocke les téléchargements JUSQU'À 20 Mo * 1 500 lignes, ce qui correspond à environ 2 Go (en supposant que la plupart de vos fichiers sont inférieurs à 20 Mo). Malheureusement, Windows XP a beaucoup de mal à gérer avec des fichiers de plus de 2 Go - limitations du système de fichiers et du système d'exploitation. C'est la même raison pour laquelle les gens ont des problèmes avec leurs perspectives - parce qu'ils ne trient pas et ne nettoient pas leurs emails.

SOLUTION:

Troisième problème - Vous stockez des données binaires dans une base de données - ce n’est jamais une bonne idée. Stockez-le sur le disque et conservez simplement la référence (nom ou chemin) dans votre base de données. Ou vous pouvez conserver votre configuration actuelle pendant un certain temps si vous passez à ** nix * système qui prend en charge des fichiers plus volumineux. Cependant, il est toujours déconseillé de stocker directement dans votre base de données des données binaires de cette taille. Cela ralentit également considérablement vos recherches dans la base de données et vos sauvegardes BEAUCOUP (car il n’existe pas de sauvegarde incrémentielle facile dans MySQL)

L’espoir que cela aide.

EDIT:

J'ai oublié de mentionner que puisque vous utilisez WAMP, votre dossier MySQL serait dans votre dossier d'installation WAMP. Par défaut, je pense que cela devrait être dans c: \ wamp \ mysql \ data - mais je ne m'en souviens pas à coup sûr. J'utilise généralement XAMMP sous Windows.

Autres conseils

Il existe de nombreuses raisons pour lesquelles cela se produit. Conservez-vous un tableau de tous les objets de 20 Mo en mémoire? À mesure que cela grandit, vous pouvez augmenter la taille par processus d’apache jusqu’à épuisement de votre mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top