2017-03-20 17 views
3

私はSymfonyで電子メールを送信しようとしています。すべてがローカルで完璧に動作します。しかし、サーバー上で、私はprod.logでerroreを以下の取得:assetic.ERROR "DoctrineBundle:Collector:db.html.twig"にエラーがあります:不明な "profiler_dump"関数

assetic.ERROR: The template "SecurityBundle:Collector:security.html.twig" contains an error: Unknown "profiler_dump" function in "SecurityBundle:Collector:security.html.twig" at line 180.

assetic.ERROR: The template "DoctrineBundle:Collector:db.html.twig" contains an error: Unknown "profiler_dump" function in "DoctrineBundle:Collector:db.html.twig" at line 241

これらはcomposer.jsonで、私が持っているバンドル

"php": ">=5.5.9", 
    "symfony/symfony": "3.1.*", 
    "doctrine/orm": "^2.5", 
    "doctrine/doctrine-bundle": "^1.6", 
    "doctrine/doctrine-cache-bundle": "^1.2", 
    "symfony/swiftmailer-bundle": "^2.3", 
    "symfony/monolog-bundle": "3.0.1", 
    "symfony/polyfill-apcu": "^1.0", 
    "sensio/distribution-bundle": "^5.0", 
    "sensio/framework-extra-bundle": "^3.0.2", 
    "incenteev/composer-parameter-handler": "^2.0", 
    "friendsofsymfony/user-bundle": "[email protected]", 
    "justinrainbow/json-schema": "~2.0", 
    "jms/serializer-bundle": "1.1.0", 
    "lexik/jwt-authentication-bundle": "1.6.0", 
    "symfony/assetic-bundle": "^2.8", 
    "stof/doctrine-extensions-bundle": "^1.2", 
    "guzzlehttp/guzzle": "~6.0", 
    "knplabs/knp-paginator-bundle": "^2.5", 
    "mapado/mysql-doctrine-functions": "1.*", 
    "hampe/zurb-ink-bundle": "^2.2", 

ある。これは、AppKernelクラスで

$bundles = [ 
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
     new Symfony\Bundle\TwigBundle\TwigBundle(), 
     new Symfony\Bundle\MonologBundle\MonologBundle(), 
     new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), 
     new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
     new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 
     new FOS\UserBundle\FOSUserBundle(), 
     new AdminBundle\AdminBundle(), 
     new APIBundle\APIBundle(), 
     new JMS\SerializerBundle\JMSSerializerBundle(), 
     new Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle(), 
     new Symfony\Bundle\AsseticBundle\AsseticBundle(), 
     new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(), 
     new NotificationBundle\NotificationBundle(), 
     new Hampe\Bundle\ZurbInkBundle\HampeZurbInkBundle(), 
    ]; 
バンドルされています
+0

あなたの 'AppKernel'クラスを共有できますか? – Matteo

+0

@Matteo ok、 – blahblah

答えて

5

デフォルトでは、AsseticBundleは有効なすべてのバンドルのテンプレートを処理しようとします。有効なバンドルは、prod環境に読み込まれていない機能に依存するテンプレートで出荷されます。 assetic.bundles optionを使用してAsseticによって処理されるすべてのバンドルを明示的にリストすることによって、問題を解決できます。

+0

Doctrineのバグでしょうか? – Henry

+0

いいえ、DoctrineBundleは 'prod'環境でこのテンプレートを使用しません(これはここでは使用されていないため、このテンプレートをレンダリングしないプロファイラです)。 – xabbuh

+0

問題は、prodに含まれているバンドルにテンプレートが存在することです。だから、asseticはそれが使用されているかどうかにかかわらず、それを処理しようとします。 – Henry

1

profiler_dumpメソッドは、SymfonyのWebProfilerBundleにあります。 このバンドルは運用モードではカーネルには適用されません。開発中にのみWebProfilerツールバーを有効にする必要があります。これらのコールは、twigテンプレートから削除する必要があります。

+0

このテンプレートはdoctrineバンドルの一部ですので、簡単に削除することはできません。 – Henry

関連する問題