我正在使用this tutorial,它提供了有关如何设置CodeIgniter和Doctrine的详细说明。我正在使用CodeIgniter 2.1.0和Doctrine 2.2.1,但是我收到了这个错误:
你可以帮帮我吗?致命错误:在第52行的/Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php中调用未定义的函数
Doctrine\Common\Cache\apc_fetch()
答案 0 :(得分:12)
您需要为PHP启用APC扩展。
关注this指南。
或者,你可以使用不同的缓存驱动程序,比如memcache,并根据它更改Doctrine配置。
检查doctrine documentation是否有备用缓存驱动程序。也许最简单的解决方案是在开发中使用 ArrayCache 。
答案 1 :(得分:4)
如果您没有安装APC并且只想运行它,那么在第6行的doctrine-cli.php中,更改模式:
define('ENVIRONMENT', 'production');
到
define('ENVIRONMENT', 'development');
打开Doctrine.php文件,在第36~43行,你会明白为什么!
答案 2 :(得分:3)
因为不再使用php 5.5 apc。你应该安装apcu。
E.g。
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
答案 3 :(得分:1)
您需要安装apc扩展才能使用缓存。所以只需下载扩展并安装即可。
这个将帮助您在apache上安装APC扩展。
http://kvcodes.com/2014/06/solution-call-undefined-function-apc_fetch/
答案 4 :(得分:0)
答案 5 :(得分: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