17

我正在使用本教程,它详细解释了如何设置 CodeIgniter 和 Doctrine。我正在使用 CodeIgniter 2.1.0 和 Doctrine 2.2.1,但我收到此错误:

致命错误:在第 52 行调用Doctrine\Common\Cache\apc_fetch()/Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php中的未定义函数

你能帮我吗?

4

6 回答 6

12

您需要为 PHP 启用 APC 扩展。

遵循指南。

或者,您可以使用不同的缓存驱动程序,例如 memcache,并据此更改 Doctrine 配置。

检查备用缓存驱动程序的原则文档。也许最简单的解决方案是在开发中使用ArrayCache

于 2012-10-31T15:02:24.630 回答
5

由于不再使用 php 5.5 apc。你应该安装apcu。

例如

apt install php5.6-apcu

更多信息在这里:

http://php.net/manual/en/opcache.installation.php

对于那些使用 php 7 的人来说,有一个向后兼容模块:

apt-get install php7.0-apcu
apt-get install php7.0-apcu-bc

此外,您可能需要添加此存储库:

apt-add-repository ppa:ondrej/php
apt-get update
于 2017-02-12T21:41:27.967 回答
4

如果您不安装 APC 并且只想运行它,请在第 6 行的教义-cli.php 中更改模式:

define('ENVIRONMENT', 'production');

define('ENVIRONMENT', 'development');

打开 Doctrine.php 文件,在第 36 ~ 43 行,你会明白为什么!

于 2013-06-26T02:15:31.853 回答
1

您需要安装 apc 扩展才能使用缓存。所以只需下载扩展并安装它。

这将帮助您在 apache 上安装 APC 扩展。

http://kvcodes.com/2014/06/solution-call-undefined-function-apc_fetch/

于 2014-06-09T05:01:10.317 回答
0

在 OSX 上我必须运行:

pecl channel-update pecl.php.net
pecl install apcu-4.0.11

为 PHP 5.6 安装

https://getgrav.org/blog/macos-mojave-apache-mysql-vhost-apc

于 2018-10-01T13:15:33.947 回答
0

对于在 Mac 上获得此功能的任何人,只需apcu使用Homebrew安装:

brew install php56-apcu

(并根据需要启用扩展)。

于 2017-11-20T15:04:45.167 回答