2016-12-08 2 views
1

Symfony 3.1.5から昨日の3.2.0にアップグレードし、それほど前。 symfonyが突然 "The service" session.storage.metadata_bag "が存在しないパラメータに依存しています"

  • はVAR削除さ

    • バックアウト私の最も最近の変更:私は次のことを試してみました

      [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
      The service "session.storage.metadata_bag" has a dependency on a non-existent parameter "session.metadata.storage_key".

      は今、symfonyはコンソールコマンドを含め、アクセスのいずれかのタイプに次の例外がスローされます/ cache/*

    ここに例外トレースがあります。

    Exception trace: 
    () at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:100 
    Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->get() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php:56 
    Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag->get() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:217 
    Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->resolveString() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:187 
    Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->resolveValue() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:177 
    Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->resolveValue() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php:39 
    Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass->process() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:120 
    Symfony\Component\DependencyInjection\Compiler\Compiler->compile() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:565 
    Symfony\Component\DependencyInjection\ContainerBuilder->compile() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:484 
    Symfony\Component\HttpKernel\Kernel->initializeContainer() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:116 
    Symfony\Component\HttpKernel\Kernel->boot() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:68 
    Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /Volumes/Data01/Projects/Beck/WWUI/site/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:122 
    Symfony\Component\Console\Application->run() at /Volumes/Data01/Projects/Beck/WWUI/site/bin/console:29 
    

    ご覧のとおり、それは私のコードではなく、Symfonyの一部です。

    私は紛失しています。
    誰もがこれを見ましたか?
    提案?私はsession.xmlをチェックダゴンの提案に基づいて
    、私が

    <argument>_sf2_meta</argument> 
    

    <argument>%session.metadata.storage_key%</argument> 
    

    タグを交換することを決定し、正しい表示されていることを見て:

    編集1 in session.xml。これにより、新しい似たようなエラーが発生しました。

    [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
    The service "64e3c91c625381e3c2c0184cf9ea0c6d5353986d77aa111949ca6fb8b17a8f07_2" has a dependency on a non-existent parameter "validator.mapping.
    cache.prefix".

  • +0

    check session.xml –

    +0

    ベンダー/ ... symfony/... config/session.xmlを確認してください。 session.metadata.storage_keyパラメータが "_sf2_meta"に設定され、そのキーがsession.storage.metadata_bagサービス定義で使用されていることがわかります。 Symfonyがそのパラメータを存在しないものとして報告する理由については困惑しています。 session.xmlファイルが役立つ場合は、post.xmlファイルを投稿できます。 –

    答えて

    0

    これは実際の回答ではありませんが修正です。
    vendorをHOLDに変更してから、composer installを実行しました。問題は消えた。

    私は以前のsession.xmlファイルと新しいsession.xmlファイルでdiffを実行しましたが、パラメータの定義が異なっていました。エラーの原因とバージョンが含まれる:

    <parameter string="session.metadata.storage_key">_sf2_meta</parameter> 
    

    新しくインストールされたバージョンが含まれる:代わり

    ​​

    。明らかに、私がsession.xmlに行った実験的な編集に基づいて、他のファイルも間違っていました。何が起こったかについての手掛かりはありませんが、作曲家がそれを修正してインストールするのはいいことです。ああ、はい、後でベンダーHOLDを削除しました。

    関連する問題