Maison > Article > développement back-end > Pourquoi mon script PHP affiche-t-il « Taille de mémoire autorisée épuisée » lorsque phpinfo() affiche une limite plus élevée ?
Enquête sur l'erreur « Taille de mémoire autorisée épuisée »
Le message d'erreur « Taille de mémoire autorisée de X octets épuisée » indique que PHP a tenté de allouer plus de mémoire que ce qui est autorisé. Alors que PHPInfo suggère une limite de mémoire de 128 Mo, l'erreur suggère une limite de seulement 64 Mo. Pour étudier cette différence, il est important de comprendre la hiérarchie de configuration de PHP.
La configuration de PHP peut être définie à plusieurs emplacements :
Dans la sortie PHPInfo, la valeur "Master" est la valeur par défaut et la valeur "Local" est ce qui est en vigueur. La valeur Local peut être remplacée dans n'importe quel autre emplacement.
Notez que PHP dispose de fichiers .ini distincts pour les opérations basées sur la ligne de commande et sur le serveur Web. Vérifier phpinfo() à partir de la ligne de commande affichera des valeurs différentes de celles d'un script Web.
Dans ce cas, l'erreur est probablement causée par un appel ini_set dans un fichier PHP principal. Cet appel a peut-être été ajouté par inadvertance et remplace le paramètre de limite de mémoire globale. Pour résoudre le problème, localisez l'appel ini_set et supprimez-le ou modifiez-le pour vous assurer qu'il correspond à la limite de mémoire souhaitée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!