Maison >développement back-end >Problème PHP >Comment augmenter la mémoire php ?
Lors de l'exécution d'un programme PHP, vous rencontrerez généralement l'erreur "Fatal Error: Allowed memory size of xxxxxx bytes exhausted
". Cela signifie que le script PHP utilise trop de mémoire et dépasse le maximum autorisé par le système. . Pour résoudre ce problème, vous devez d'abord vérifier si votre programme a alloué trop de mémoire. S'il n'y a aucun problème avec le programme, vous pouvez augmenter la limite de mémoire de PHP via les méthodes suivantes (memory_limit
).
Vérifiez la valeur limite de mémoire de php
Afin de vérifier cette valeur, vous devez créer un fichier php vide, tel que view-php-info.php. Collez ensuite le code suivant à l’intérieur.
<?php phpinfo(); ?>
Mettez ce script sur votre serveur Web et appelez-le dans votre navigateur. À ce stade, vous pouvez voir les informations sur la configuration de votre environnement PHP, dont une partie concerne "memory_limit"
Remarque : vous pouvez utiliser cette méthode pour afficher d'autres paramètres de PHP, non seulement memory_limit .
À quoi doit être définie la limite de mémoire ?
Cela dépend entièrement des exigences de votre candidature. Par exemple, WordPress nécessite 32 Mo pour exécuter le code principal. Drupal 6 exige que cette valeur soit d'au moins 16 Mo et recommande de la définir sur 32 Mo. Si vous installez de nombreux plug-ins, en particulier ceux qui nécessitent un traitement d'image, vous aurez peut-être besoin de 128 Mo de mémoire ou plus.
Comment définir la limite de mémoire ?
Méthode 1 : .htaccess
Remarque : Cette méthode ne prend effet que lorsque php est exécuté en tant que module Apache. Recherchez le fichier « .htaccess » dans le répertoire racine de votre site Web. Si vous n’en avez pas, vous pouvez en créer un vous-même. Ensuite, mettez-y la configuration suivante php_value memory_limit 128M ; vous pouvez remplacer 128M par n'importe quelle valeur que vous souhaitez définir.
Méthode 2 : Modifier les paramètres de mémoire de php pendant l'exécution
Ajoutez simplement la ligne de commande suivante à votre code php.
ini_set('memory_limit','128M'); memory_limit修改失败
Méthode 3 : php.ini
La méthode la plus simple ou la plus courante consiste à modifier php.ini
1 Trouvez d'abord le php qui est efficace pour. Fichier .ini de votre site Web Puisqu'il existe plusieurs endroits où les paramètres PHP peuvent être définis, trouver le fichier de configuration correct et apporter des modifications est la première étape. Si vous avez créé un fichier php en utilisant la méthode ci-dessus pour afficher ses paramètres de configuration, vous pouvez trouver l'élément "Fichier de configuration chargé". Voici un exemple :
Pour les utilisateurs Linux, vous pouvez exécuter "php -i". | grep Loaded Configuration File" pour trouver le fichier de configuration correspondant. Pour les utilisateurs Windows, vous pouvez essayer de modifier php.ini dans votre répertoire d'installation php.
2. Editez php.ini Dans php.ini, recherchez l'élément "memory_limit". Sinon, vous pouvez ajouter vous-même ce paramètre à la fin du fichier. Voici quelques exemples de paramètres
memory_limit = 128M ; vous pouvez modifier 128M par n'importe quelle valeur que vous souhaitez définir et enregistrer le fichier.
3. Redémarrez le serveur Web. Si le serveur Web utilise Apache, exécutez :
httpd restart
Dans certains cas, vous ne serez peut-être pas autorisé à modifier php.ini en privé. Par exemple, si vous avez acheté un service d'hébergement virtuel, mais que votre fournisseur de services ne vous permet pas de modifier ce fichier. Ensuite, vous souhaiterez peut-être envisager d’autres méthodes pour augmenter la valeur de memory_limit.
Si vous utilisez un hôte virtuel, il se peut que la modification de la valeur de memory_limit échoue. Vous devez contacter votre fournisseur de services pour vous aider à gérer cela.
Pour plus de contenu connexe, veuillez visiter le site Web php chinois : Tutoriel vidéo PHP
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!