Maison  >  Article  >  développement back-end  >  Pourquoi le message d'erreur « Taille de mémoire autorisée » de PHP affiche-t-il une valeur différente de la « limite_mémoire » signalée dans phpinfo() ?

Pourquoi le message d'erreur « Taille de mémoire autorisée » de PHP affiche-t-il une valeur différente de la « limite_mémoire » signalée dans phpinfo() ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-07 10:26:02179parcourir

Why does PHP's

Résoudre l'erreur « Taille de mémoire autorisée de X octets épuisés »

Lorsque PHP rencontre une erreur indiquant « Taille de mémoire autorisée de X octets épuisée, " cela indique que la mémoire allouée a atteint sa limite. En règle générale, vous pouvez vérifier PHPInfo et remarquer que la limite de mémoire signalée est considérablement supérieure à la valeur mentionnée dans le message d'erreur. Cet écart peut être attribué aux multiples sources de configuration de PHP.

Sources de configuration :

La configuration de PHP peut être définie via différents canaux :

  1. Système maître php.ini
  2. Configuration Apache (httpd.conf ou .conf par site fichier)
  3. CLI & CGI php.ini (vérifiez en utilisant 'php -i | grep memory_limit')
  4. Fichiers .htaccess locaux
  5. Dans le script (via ini_set() )

PHPInfo Sortie :

Dans la sortie de PHPInfo, la valeur « Master » représente la valeur par défaut compilée lors de l'installation de PHP. La valeur « Local » reflète cependant la configuration effective réelle. Cette valeur peut correspondre à la valeur par défaut ou être personnalisée dans l'un des emplacements mentionnés ci-dessus.

CLI vs serveur Web :

De plus, PHP utilise des fichiers .ini distincts pour les commandes. opérations de ligne (CLI) et de serveur Web. PHPInfo génère différentes valeurs selon qu'il est accessible via la ligne de commande ou un script Web.

Dépannage :

  1. Examinez toutes les sources de configuration possibles et identifier tout paramètre conflictuel.
  2. Assurez-vous que le fichier php.ini correct est en vigueur pour le contexte spécifique (CLI ou serveur Web).
  3. Vérifiez les ajustements de mémoire dans le script à l'aide de ini_set().
  4. Éliminez toute fuite de mémoire potentielle ou consommation excessive de mémoire dans le code de l'application.
  5. Envisagez d'augmenter la memory_limit dans le fichier de configuration approprié si nécessaire.

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