本文介绍了Symfony 2 - 尝试调用函数“apcu_fetch”来自命名空间“Doctrine\Common\Cache”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在symfony项目中使用PHP7.0.8和教学缓存(与APCU)。当我从使用这个缓存的控制器调用函数时,没有问题,它工作正常!

I'm using PHP7.0.8 and the doctrine cache (with APCU) in my symfony project. When I call function from my controllers which use this cache, no problems, It works fine !

但是当我创建一个使用使用了doctrine缓存的存储库的命令文件,当我在我的shell上运行这个命令时,我有错误:

But when I create a command file which use a repository which use the doctrine cache, and when I run this command on my shell, I've the error :

我的配置:

doctrine:
dbal:
    driver:   pdo_mysql
    host:     "%database_host%"
    port:     "%database_port%"
    dbname:   "%database_name%"
    user:     "%database_user%"
    password: "%database_password%"
    charset:  UTF8
orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    entity_managers:
        default:
            auto_mapping: true
            mappings:
                StofDoctrineExtensionsBundle: ~
            metadata_cache_driver: apcu
            query_cache_driver: apcu
            result_cache_driver: apcu

如果我在控制器中运行相同的代码(
我认为这是一个错误,任何想法?

The same code works if I run it in a controller :(I think it's a bug, any idea ?

推荐答案

我通过在我的ubuntu机器上安装并启用php-apcu来修复同样的问题。 >

I fixed the very same problem by installing AND enabling php-apcu on my ubuntu machine.

sudo apt-get install -y php-apcu

不要忘记启用该模块:

sudo phpenmod apcu

双重检查php-apcu是否被加载到您的php配置的命令行版本中。尝试在命令行上运行以下命令

Double check that php-apcu is loaded in the command line version of your php config. Try to run the following on the command line

php -i | grep apcu

我有这样的输出:

/etc/php/7.0/cli/conf.d/20-apcu.ini,
apcu

其中显示apcu已加载。

which shows me that apcu is loaded.

这篇关于Symfony 2 - 尝试调用函数“apcu_fetch”来自命名空间“Doctrine\Common\Cache”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 05:59