Mémoire maximale atteinte et fin de script
Bonjour,
Pour une application permettant de générer des fichiers à partir de bases de données, j'ai un problème de mémoire que je n'arrive pas à résoudre. J'ai essayé d'améliorer le plus possible la gestion de la mémoire dans le script mais j'arrive à un point où je ne vois pas ce qui peut générer ce type d'erreur :
Code:
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 528384 bytes)
Le script utilise principalement une fonction générateur permettant d'extraire des données d'une base de donnée partie par partie et je vide les variables tableaux résultats à chaque boucle, mais après plusieurs dizaines de minutes j'ai ce problème de mémoire vive.
Je ne comprends vraiment pas pourquoi puisqu'à chaque boucle je vide les variables contenant le plus de données :
Citation:
$array=NULL;
unset($array);
Ca a amélioré la mémoire disponible, mais lorsque je traite 500 000 lignes par paquet de 1000, j'arrive vers la fin à ce problème de mémoire vive.
Je ne vois pas l'utilité d'augmenter la taille maximale de mémoire vive puisque normalement le script php devrait se limiter à 200-300 Mo de données utilisées/détruites environ.
Pourriez vous m'indiquer si il existe un moyen sûr de limiter au minimum l'utilisation de la mémoire vive du script PHP ?
Merci.