0

アプリを PagodaBox にデプロイした後、ドクトリン エラーが発生します。ローカル マシンの開発環境と本番環境の両方で問題なく動作しますが、ライブ サイトでは次のエラーが返されます。

致命的なエラー: /var/www/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/DoctrineBundle.php:101 でメッセージ「不正な値が渡されました (配列または文字列が指定されていません)」を含む例外「LogicException」がキャッチされませんでした:101 スタック トレース: #0 /var/www/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/DoctrineBundle.php(101): spl_autoload_register(NULL) #1 /var/www/app/bootstrap.php.cache(2275): Doctrine\Bundle\DoctrineBundle\DoctrineBundle->boot() #2 /var/www/app/bootstrap.php.cache(2303): Symfony\Component\HttpKernel\Kernel->boot() #3 /var/www/web /app.php(23): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #4 {main} throw in /var/www/vendor/doctrine/doctrine-bundle/ 101行目のDoctrine/Bundle/DoctrineBundle/DoctrineBundle.php

アプリがデプロイされるたびに、キャッシュはクリアされます。私は完全に困惑しているので、どんな提案もありがたく受け取られます!

アップデート:

さらにデバッグを行ったところ、prod 環境でも kernel.cache_dir パラメータが /var/www/app/cache/dev に設定されていることがわかりました。これは、doctrine キャッシュ dir がこの別のパラメーターに依存しているため、誤って設定されていることを意味します。環境によってkernel.cache_dirが自動的に設定されていると思っていました。

4

2 に答える 2

1

これでやっと整理できました。オペコード キャッシュとして eAccelerator を使用することになりました。eAccelerator にバグがあり、クロージャーを正しく処理できないことが判明しました。現在、XCache を使用していますが、すべて正常に動作しています。

于 2014-01-11T23:30:35.513 に答える