【问题标题】:How to properly configure the Apc cache engine?如何正确配置 Apc 缓存引擎?
【发布时间】:2016-07-30 16:51:27
【问题描述】:

尝试在 Cakephp 3 中配置 Cache 时遇到问题。我的配置如下:

Cache => [
    'default' => [
        'className' => 'Apc',
        'path' => CACHE,
    ],
    '_cake_core_' => [
        'className' => 'Apc',
        'prefix' => 'mandealR_cake_core_',
        'path' => CACHE . 'persistent/',
        'serialize' => true,
        'duration' => '+2 minutes',
    ],
    '_cake_model_' => [
        'className' => 'Apc', 
        'prefix' => 'mandealR_cake_model_',
        'path' => CACHE . 'models/',
        'serialize' => true, 
        'duration' => '+2 minutes', 
    ],
    'apc' => [
        'engine' => 'Apc' 
    ]
]

我可以得到

Cache engine Cake\Cache\Engine\ApcEngine is not properly configured.

谁能帮我找到正确的配置?

【问题讨论】:

  • 尽管问题对于了解 Cake 内部结构的人来说可能很明显,但请在收到错误时不仅发布完整、准确的错误消息,还发布相关的完整堆栈跟踪(最好从以正确可读的方式提供的日志)!

标签: php cakephp caching apc cakephp-3.x


【解决方案1】:

从 CakePHP 3.2 开始的 APCu

从 CakePHP 3.2 开始,Apc 缓存引擎实际上不再使用 APC 扩展名(自从 PHP 5.5 附带捆绑的操作码缓存以来,它肯定已停止使用),但 APCu 扩展名。

http://php.net/manual/en/book.apcu.php

迁移指南和缓存文档似乎缺少这些信息。

扩展未加载

您收到的错误通常发生在未加载扩展程序时 - 是 APCAPCu (!extension_loaded('apc') / !extension_loaded('apcu'))。因此,请确保您已正确配置 PHP 安装,并且已安装/加载所需的扩展。

ps.

Apc 引擎不支持path 选项。

【讨论】:

  • 感谢您的回答。我切换到php 作为默认会话管理器。虽然我已经安装了 APC,并且我使用的是 CakePHP 3.1.7,但我仍然遇到同样的错误。再次感谢您的有用解释。
猜你喜欢
  • 1970-01-01
  • 2021-04-30
  • 2014-07-08
  • 2011-10-20
  • 2015-06-07
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多