/ / php script se bloque après avoir consommé une grande quantité de mémoire - php, gestion de la mémoire

Le script php se bloque après avoir consommé beaucoup de mémoire - php, gestion de la mémoire

J'exécute un script php dans le navigateur. Le script php se bloque après avoir consommé plus de 600 Mo d'octets. httpd utilise 100% de cpu. Aucune erreur n'apparaît dans les fichiers journaux. J'utilise xampp avec PHP 5.4. Pour simplifier le problème, j’ai testé le script suivant:

<?php
set_time_limit(0);
ini_set("memory_limit", "1800M");
$b="";
for($i=0;$i<630000000;$i++)
{
$b.="a";
}
echo "completed!";
?>

Le script échoue avec l'erreur: Erreur fatale: Mémoire insuffisante (320077824 alloué) (tentative d'allocation de 319815657 octets) Mon système dispose d’environ 1,5 G de mémoire disponible. Comment cela pourrait-il arriver?

Réponses:

0 pour la réponse № 1

Mon système dispose d’environ 1,5 G de mémoire disponible.

Tout cela n'est pas disponible pour PHP bien sûr.

Vous devez augmenter le memory_limit dans votre configuration PHP:

memory_limit entier
Ceci définit la quantité maximale de mémoire en octetsqu'un script est autorisé à allouer. Cela permet d'éviter que des scripts mal écrits ne consomment toute la mémoire disponible sur un serveur. Notez que pour ne pas avoir de limite de mémoire, définissez cette directive sur -1.