Doctrine未定义函数apc_fetch。

17
我正在使用这篇教程,它详细解释了如何设置CodeIgniter和Doctrine。我正在使用CodeIgniter 2.1.0和Doctrine 2.2.1,但我遇到了这个错误:

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

你能帮我解决吗?
6个回答

12

您需要启用PHP的APC扩展。

请按照这个指南进行操作。

或者,您可以使用其他缓存驱动程序(如memcache),并相应地更改Doctrine配置。

查看Doctrine文档以获取替代性缓存驱动程序。也许在开发中最简单的解决方案是使用ArrayCache


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

4
如果您没有安装APC并且只想运行它,则在doctrine-cli.php文件的第6行更改"mode"选项:
define('ENVIRONMENT', 'production');

to

define('ENVIRONMENT', 'development');

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

1

0

0

对于在 Mac 上遇到此问题的任何人,只需使用 Homebrew 安装 apcu

brew install php56-apcu

(如果需要,请启用扩展程序)。


错误:没有名为“php56-apcu”的可用公式。 - Kim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接