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 ?

Pourquoi mon script PHP affiche-t-il « Taille de mémoire autorisée épuisée » lorsque phpinfo() affiche une limite plus élevée ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 22:36:02521parcourir

Why is My PHP Script Showing

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 :

  • Système maître php.ini (généralement dans /etc)
  • Configuration d'Apache (fichiers httpd.conf ou .conf)
  • CLI & CGI php.ini (utilisez 'php -i | grep memory_limit')
  • Fichiers .htaccess locaux
  • Dans le script (via ini_set())

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn