Erreur de mémoire dans symfony

je travaille actuellement sur Symfony project (const VERSION = '2.5.10') et j'utilise xampp. La version de PHP est 5.5.19.

Mon problème est que à chaque fois que je lance mon environnement de dev, j'obtiens une erreur :

OutOfMemoryException: erreur: Taille de mémoire autorisée de 1073741824 octets épuisés (essayé d'allouer 3358976 octets) en C:xampphtdocsEditrackervendorsymfonysymfonysrcSymfonyComponentHttpKernelProfilerFileProfilerStorage.php ligne 153

et chaque fois que je rafraîchis la page il donne la taille de la mémoire différente. Je pense aussi que c'est aussi la raison pour laquelle mon environnement dev prend un temps considérable avant de rafraîchir la page.

votre aide est appréciée.

php.ini

memory_limit= '256'

j'ai essayé d'augmenter ma limite de mémoire, mais ça donne une erreur sur la limite de mémoire

10
demandé sur aiai 2015-05-14 08:05:59

4 réponses

la composante la plus pressante de Symfony est un profileur. Si vous n'avez pas besoin de profiler dans certaines actions particulières, vous pouvez le désactiver via le code:

if ($this->container->has('profiler'))
{
    $this->container->get('profiler')->disable();
}
framework:
    profiler:
        collect: false
15
répondu Michael Sivolobov 2015-05-14 05:27:37

soit vous désactivez Symfony profiler (Je ne pense pas que ce soit ce que vous voulez pour autant que je sache) ou mettez la limite À illimité avec -1 dans votre php.ini et redémarrez apache.

memory_limit = -1
4
répondu BentCoder 2015-05-19 08:41:06

si la limite de mémoire n'est atteinte que sous L'environnement Dev Symfony, je suggère d'ajouter ce qui suit à web/app_dev.php

ini_set('memory_limit', '-1');

de cette façon vous pouvez continuer à tester la production avec une quantité raisonnable de mémoire. Modifier l'environnement entier via php.ini pourrait masquer une erreur en bas de la ligne.

1
répondu lookbadgers 2017-02-21 08:56:52

j'ai résolu l'erreur de mémoire sur le débogueur Twig en installant le XDebug.

parce que la brindille utilise le PHP var_dump fonction interne, installer le XDebug est une bonne idée, car il limite le var_dump() sortie de tableaux et d'objets à 3 niveaux de profondeur, comme nous pouvons le voir sur le documentation.

Crédits @peezi.

1
répondu coderade 2018-01-06 23:41:06