IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Erreur après mise à jour de Symfony 2.8 et Twig : Node "parent" does not exist for Node "Twig_Node_Module"


Sujet :

Symfony PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut Erreur après mise à jour de Symfony 2.8 et Twig : Node "parent" does not exist for Node "Twig_Node_Module"
    Salut,
    Ce matin j'ai mis à jour un site sous Symfony 2.8 (la version de Twig est désormais 1.25.0 et avant c’était la 1.24.2).
    Depuis cette mise à jour, lors de la création des assets via Assetic, j'ai cette erreur :

    [Twig_Error_Syntax]
    An exception has been thrown during the compilation of a template ("Node "parent" does not exist for Node "Twig_Node_Module".") in "my_view.html.twig".

    [LogicException]
    Node "parent" does not exist for Node "Twig_Node_Module".
    J'ai résolu mon probleme en forcant la version de Twig dans le fichier de composer, mais j'aimerai bien la comprendre et la régler pour mettre à jour Twig.
    Merci de votre science

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    je suppose que tu as migré à la version 3.1 ?

    quand tu étais à la version 2.8, as tu fais la chasse au deprecated ? en allant sur chaque page et en regardant dans le profil symfony, il indique tous les depricated. il faut les corriger obligatoirement avant de passer à la version 3

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut
    Non je n'ai pas migré en 3.1, uniquement mis à jour via "composer update".
    Voici la partie "require" du fichier "composer.json", en ligne 3 la fixation de la version de Twig pour éviter l'erreur.

    "php": ">=5.3.9",
    "symfony/symfony": "2.8.*",
    "twig/twig": "1.24.2",
    "doctrine/orm": "^2.4.8",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "hwi/oauth-bundle": "^0.4.0",
    "luxifer/doctrine-functions": "^1.4",
    "genemu/form-bundle": "^2.2",
    "symfony/intl": "^2.8",

  4. #4
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    bien sur le cache a été vidé en twig 1.25.

    dans my_view.html il a peut être un code, une syntaxe dans twig qui a été modifié en 1.25

    pour tester supprime un extend, un block pour voir ou ça bloque.....

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut
    Le cache est bien vide.

    J'ai maintenant cette erreur sur un autre projet fonctionnant avec Silex 2.
    La mise à jour de Twig est la cause.

    Ci-dessous le changelog de la version 1.25 de Twig qui provoque l'erreur :
    * changed the way we store template source in template classes
    * removed usage of realpath in cache keys
    * fixed Twig cache sharing when used with different versions of PHP
    * removed embed parent workaround for simple use cases
    * deprecated the ability to store non Node instances in Node::$nodes
    * deprecated Twig_Environment::getLexer(), Twig_Environment::getParser(), Twig_Environment::getCompiler()
    * deprecated Twig_Compiler::getFilename()
    La vue est question est très simple, elle contient juste un "include" et affiche des valeurs.
    En fait, même en vidant la vue de tout code Twig le problème demeure.



    C'est sans doute de ce changement "removed embed parent workaround for simple use cases" dont il s’agit, mais je ne comprends pas ce que c'est.
    J'ajoute que le problème survient à la compilation des templates pour Twig JS.

Discussions similaires

  1. [V8] Erreur 500 après mise à jour du module "Account"
    Par ava62 dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 15/04/2015, 17h37
  2. [Joomla!] Problème erreur 500 après mise à jour
    Par crush09 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 18/08/2012, 03h59
  3. [ODS] Erreur après mise à jour ODS TAGSETS
    Par Invité dans le forum ODS et reporting
    Réponses: 15
    Dernier message: 17/10/2011, 16h26
  4. Erreur après mise à jour
    Par Henri Payre dans le forum Mac OS X
    Réponses: 1
    Dernier message: 02/08/2011, 17h27
  5. Réponses: 4
    Dernier message: 03/09/2008, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo