【问题标题】:Twig_Environment::tokenize() must be an instance of Twig_Source after Symfony 2.3 to 2.7 upgrade在 Symfony 2.3 到 2.7 升级后,Twig_Environment::tokenize() 必须是 Twig_Source 的一个实例
【发布时间】:2018-08-28 06:23:23
【问题描述】:

使用成功的 composer 从 symfony 2.3 升级到 2.7 后

composer update symfony/symfony sensio/distribution-bundle twig/twig --with-dependencies

我遇到了问题

类型错误:传递给 Twig_Environment::tokenize() 的参数 1 必须是 Twig_Source 的实例,给定字符串,调用 /var/www/git/admin/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigFormulaLoader.php 第 34 行

我的 composer.json

{
    "name" : "symfony/framework-standard-edition",
    "description" : "The \"Symfony Standard Edition\" distribution",
    "autoload" : {
        "psr-0" : {
            "" : "src/"
        }
    },
    "require" : {
        "php": ">=5.3.9",
        "symfony/symfony": "2.7.*",
        "doctrine/orm": "^2.4.8",
        "doctrine/doctrine-bundle": "~1.4",
        "symfony/assetic-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~4.0",
        "sensio/framework-extra-bundle": "^3.0.2",
        "incenteev/composer-parameter-handler": "~2.0",
        "twig/extensions": "v1.5.*",
        "symfony/swiftmailer-bundle" : "2.6.7",
        "sensio/generator-bundle" : "2.3.*@dev",
        "jms/security-extra-bundle" : "1.5.*@dev",
        "jms/di-extra-bundle" : "1.4.*@dev",
        "twig/twig" : "2.4.*",
        "kriswallsmith/assetic" : "1.1.*@dev",
        "jms/metadata" : "1.1.1",
        "swiftmailer/swiftmailer" : "5.4.9",
        "doctrine/dbal" : "2.4.*@dev",
        "monolog/monolog" : "1.23.0",
        "symfony/routing" : "2.3.*",
        "stfalcon/tinymce-bundle" : "1.0.*",
        "genemu/form-bundle" : "2.2.*",
        "liuggio/ExcelBundle" : "v2.0.1",
        "liuggio/excelbundle" : "^2.0",
        "raulfraile/ladybug-bundle" : "~1.0",
        "guzzlehttp/guzzle" : "^6.1",
        "jms/serializer-bundle" : "^1.0",
        "smalot/pdfparser" : "^0.9.25",
        "abraham/twitteroauth" : "^0.6.4",
        "friendsofsymfony/rest-bundle" : "^1.5",
        "aws/aws-sdk-php-symfony" : "^1.3",
        "tetranz/select2entity-bundle" : "^2.5",
        "pinano/select2-bundle" : "^4.0"
    },
    "scripts" : {
        "post-install-cmd" : [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
        ],
        "post-update-cmd" : [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
        ]
    },
    "config" : {
        "bin-dir" : "bin"
    },
    "minimum-stability" : "alpha",
    "extra" : {
        "incenteev-parameters" : [{
            "file" : "app/config/parameters.yml"
        }, {
            "file" : "src/Project/EventTrackerBundle/Resources/config/parameters.yml",
            "dist-file" : "src/Project/EventTrackerBundle/Resources/config/parameters.yml.dist"
        }
        ],
        "branch-alias" : {
            "dev-master" : "2.7-dev"
        },
        "symfony-app-dir" : "app",
        "symfony-web-dir" : "web",
        "symfony-assets-install" : "relative"
    }
}

有人遇到过这个或类似的问题,并且知道一些可以帮助我的事情吗?

【问题讨论】:

    标签: php symfony twig composer-php upgrade


    【解决方案1】:

    根据错误信息,这是由kriswallsmith/assetic引起的。尝试将其升级到更新的版本 - 所需的版本 1.1.*@dev 已使用三年以上,可能与 Twig 的最新更改不兼容

    【讨论】:

    • 我更新了 kriswallsmith/assetic (1.1.x-dev => v1.3.2) 和 symfony/assetic-bundle (v2.3.0 => v2.8.0) 仍然出现同样的错误
    • 好的,根据github.com/kriswallsmith/assetic/issues/835,资产包在某些情况下可能与 Twig 2 不兼容。为什么不更新到kriswallsmith/assetic?又是一年新。你能提供一个完整的堆栈跟踪吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 2017-12-31
    • 2013-09-09
    • 1970-01-01
    • 2015-08-14
    • 2022-01-11
    相关资源
    最近更新 更多