Cet article présente principalement que faire si la mémoire est limitée en php ? Les amis intéressés peuvent s'y référer, j'espère que cela sera utile à tout le monde.
Hier, alors que je déboguais le programme côté serveur, le site Web est soudainement apparu Erreur fatale : taille de mémoire autorisée..., J'étais confus à ce moment-là, mais cela a vite été est revenu à la normale, non seulement ma curiosité a été éveillée, et Baidu a enquêté sur la cause. Il s'est avéré que cela était dû à un seul script utilisant trop de mémoire. Ce qui suit est un article reproduit.
Lors de l'exécution d'un programme PHP, vous rencontrez généralement l'erreur "Erreur fatale : taille de mémoire autorisée de xxxxxx octets épuisée", ce qui signifie que le script PHP utilise trop de mémoire. , et dépasse la mémoire maximale autorisée définie 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 (memory_limit) via les méthodes suivantes.
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 hôte PHP et appelez-le dans le navigateur. À ce stade, vous pouvez voir les informations sur la configuration de votre environnement PHP, dont une partie concerne "memory_limit", comme indiqué ci-dessous :
Remarque : vous pouvez utiliser cette méthode. vérifiez les autres paramètres de php, pas seulement memory_limit
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.
La méthode la plus simple ou la plus courante consiste à modifier php.ini
Trouvez d'abord le fichier php.ini qui est efficace pour votre site Web
Comme il existe de nombreux endroits pour définir les paramètres php, recherchez le fichier de configuration correct et continuez Le changement 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 Linux. utilisateurs, vous pouvez trouver le fichier de configuration correspondant en exécutant "php -i | grep Loaded Configuration File". Pour les utilisateurs Windows, vous pouvez essayer de modifier php.ini dans votre répertoire d'installation php.
Modifier le php.ini
Dans php.ini, recherchez l'élément "memory_limit". Sinon, vous pouvez La queue ajoute ce paramètre. par lui-même. Voici quelques exemples de paramètres
memory_limit = 128M ; 可以将128M改为任何你想设置的值
Enregistrez le fichier
Redémarrez le serveur Web
Si le serveur Web utilise Apache, puis exécutez :
httpd restart
Dans certains cas, vous n'êtes 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.
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. Sinon, vous pouvez en créer un vous-même. Ensuite, mettez-y la configuration suivante
php_value memory_limit 128M ; 可以将128M改为任何你想设置的值
Ajoutez la ligne de commande suivante à votre code php.
ini_set('memory_limit', '128M');
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 savoir comment gérer cela. Généralement, ils limitent la valeur maximale qui peut être définie ou ne vous permettent pas du tout de la modifier. Si leur environnement ne peut vraiment pas répondre à vos besoins, vous pouvez alors envisager de passer à un autre fournisseur d'hébergement.
Recommandations associées :
Explication détaillée de la libération de mémoire PHP et du garbage collection
Explication détaillée de fuite de mémoire PHP
Explication détaillée de la gestion de la mémoire 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!