2

私の symfony2 プロジェクトは、開発環境で問題なく動作します。本番環境に切り替えると問題が発生します。エンティティの配列を持つコントローラーを呼び出し、JSMserializer で json にシリアル化すると、クラッシュします。クライアントは引き続き応答を受け取りますが、json は空であり、"[]" さえありません。ログを見ると、次のエラーを読み取ることができます。

    security.INFO: Populated SecurityContext with an anonymous Token [] []
    request.INFO: Matched route "employe_index" (parameters: "_controller": "Pisteur\WebRefugeManager\Bundle\CoreBundle\Controller\EmployeController::indexAction", "_route": "employe_index") [] []
    request.CRITICAL: Doctrine\Common\Annotations\AnnotationException: [Semantical Error] The annotation "@proxy" in method Doctrine\MongoDB\Cursor::current() was never imported. Did you maybe forget to add a "use" statement for this annotation? (uncaught exception) at /home/wpdemo/symfony/vendor/doctrine-common/lib/Doctrine/Common/Annotations/AnnotationException.php line 52 [] []

Google でエラーを検索したところ、次の 2 つのトピックが見つかりました。

https://github.com/doctrine/mongodb-odm/issues/255 https://github.com/schmittjoh/JMSSerializerBundle/issues/51

これらのトピックは役に立ちませんでした。問題が本当にわかりません。誰にもアイデアがありますか?

[編集] ここに私の設定があります:

開発者:

imports:
    - { resource: config.yml }

framework:
    router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info

assetic:
    use_controller: true

製品:

imports:
    - { resource: config.yml }

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      nested
        nested:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug

[編集]

これは私が実行するコマンドです:

php app/console cache:clear --env=prod --no-debug
php app/console cache:warmup
php app/console assets:install web
php app/console assetic:dump web --env=prod --no-debug
4

1 に答える 1

0

Capifony で初めて展開するときに、同様の問題が 1 回ありました。app/cache/prod フォルダーを手動でクリアすることでしか解決できませんでした。cache:clear を使わず、実際にフォルダを削除し、

rm -rf app/cache/prod

cache:clear --env=prod時々正しくクリアされない理由はまだわかりません。許可の問題である可能性があります。

于 2012-05-16T11:49:48.240 に答える