Accueil > Code > article

Fatal error: Allowed memory size... ? [résolu]

diter
Réelle restriction de Free sur ses pages persos, compliquée par le fait que leurs serveurs tournent avec PHP5.14 (version beta), ce qui empèche d'utiliser les fonctions les plus récentes de PHP, comme memory_get_allowed_usage

Ce message indique que la mémoire allouée à l’exécution des scripts PHP dans la configuration de votre hébergement est insuffisante. Ce message peut intervenir dans différentes circonstances (installation, activation d’un thème ou d’une extension, mise à jour…). Si cette valeur est inférieure à 32Mo, il ne sera pas possible d’installer et de faire fonctionner correctement une installation WordPress par exemple (64Mo recommandé).

Dans certains cas, les hébergeurs peuvent autoriser une augmentation limitée de cette valeur. Pour le faire, vous pouvez ajouter « memory_limit = 64 » dans un fichier .htaccess ou php.ini déposé dans les répertoires de votre site ou  injecté dans le PHP d'une page.

Dans tous les cas, il est conseillé de regarder les FAQ de son hébergeur pour s’assurer qu’une de ces solutions peut être utilisée. Si votre hébergeur ne vous permet pas d’augmenter cette valeur, il faudra alors diminuer le nombre d’extensions actives, ou rechercher des plugins ou thèmes moins consommateurs de mémoire.

 

Dans mon cas, j'avais tout expérimenté sans succès, je liste ici quelques pistes qui vous feront gagner le temps que j'ai perdu.

Un problème dans une boucle.

La première fois c'était une DIV mal fermée dans une boucle sur une grosse requête. Un CTRL-U sur la page et je découvrais plus de lignes en rouge que de texte.

Trop de résultats

Lorsque 4152 enregistrements contiennent la lettre E, il est vivement conseillé de les afficher par tranches de résultats, c'est le boulot de la pagination.

Un empilement de variables, de tableaux, remplis à bloc

Il y a du bon sens à respeter une convention de nommage de ses variables, histoire de ne pas en déclarer une multitude inutilement.

Utiliser la fonction unset() lorsqu'elles sont inutiles, var_dump() complété parfois d'exit sont mes 2 outils quotidiens.

Se faire un petit plugin de la conso mémoire de son script

Discret, en position fixed en bas de page, avec un chrono d'affichage, la memoire utilisee avec memory_get_usage(false), et le pic de mémoire utilisée avec memory_get_peak_usage(false). Combien de plugins ai-je pu incriminer et désinstaller avant de comprendre lequel bouffait la ressource aux autres.


Même s'il m'en a couté des heures devant l'écran, je dois à cette restriction l'écriture de mes premiers plugins, dont celui que j'utilise au quotidien : ixePaf.
Merci Free?
 


admin 11 février 2014 ixePaf aucun commentaire





Laissez-nous votre commentaire

Quelle est la dernière lettre du mot ytgu ? :
© Domaine de Belleroche 2004 - 2021