我有一个问题:缓存文件和 KnpPaginatorBundle。我只在产品服务器上收到一个奇怪的错误:
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 update -o'。在“composer update”命令之前,我在第 809 行的 appProdProjectContainer.php 中有:
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中的配置,没有成功。因此,我在这些行上发表了评论,并且产品现在可以正常工作
// $apcLoader = new ApcClassLoader('prniszone', $loader);
// $loader->unregister();
// $apcLoader->register(true);
我该怎么做才能在 prod 服务器上解决此问题?
产品:php 5.4.44,opCache + APCu,sf 2.4.1(我在本地也有 2.4.1,它在那里工作),两台服务器上的配置相同。