問題があります: キャッシュ ファイルと KnpPaginatorBundle。prod サーバーでのみ奇妙なエラーが発生します。
PHP Catchable の致命的なエラー: Knp\Bundle\PaginatorBundle\Helper\Processor::__construct() に渡される引数 1 は、Symfony\Bundle\FrameworkBundle\Templating\Helper\RouterHelper のインスタンスである必要があります。指定された BeSimple\I18nRoutingBundle\Routing\Router のインスタンス、809 行目の /.../app/cache/prod/appProdProjectContainer.php で呼び出され、/.../vendor/knplabs/knp-paginator-bundle/Knp/Bundle/PaginatorBundle/Helper/Processor.php で定義されています。 27行目
composer を介して新しいバンドルをインストールし、 'composer update -o'を実行したときに取得しました。「composer update」コマンドの前に、appProdProjectContainer.php の 809 行目にありました。
return $this->services['knp_paginator.helper.processor'] = new \Knp\Bundle\PaginatorBundle\Helper\Processor($this->get('templating.helper.router'), $this->get('translator.default'));
そして、localhost と prod サーバーで問題なく動作しました。しかし、「作曲家の更新」の後、私はこれを持っています(同じ行)
return $this->services['knp_paginator.helper.processor'] = new \Knp\Bundle\PaginatorBundle\Helper\Processor($this->get('be_simple_i18n_routing.router'), $this->get('translator.default'));
ローカルホストでは問題なく動作しますが (問題は発生していません)、このエラーは製品サーバーでのみ発生します。キャッシュを何度も消去し、config.yml で構成を確認しましたが、成功しませんでした。だから、私はこれらの行にコメントを入れて、prodが動作するようになりました
// $apcLoader = new ApcClassLoader('prniszone', $loader);
// $loader->unregister();
// $apcLoader->register(true);
prod サーバーでこの問題を解決するにはどうすればよいですか?
製品:php 5.4.44、opCache + APCu、sf 2.4.1(ローカルにも2.4.1があり、そこで動作します)、両方のサーバーで同じ構成。