Php 默认情况下,带有CodeIgniter的apc.cache_

Php 默认情况下,带有CodeIgniter的apc.cache_,php,codeigniter,apc,Php,Codeigniter,Apc,我正在尝试在本地主机上使用APC(可选PHP缓存)和wamp 2、PHP5.3和CodeIgniter 1.7.2,但是,如果默认情况下打开Cache_并启用APC.stat,服务器将崩溃,并出现以下错误: [apc错误]无法重新声明类 中的ci_基准 C:\wamp\www\k\mvc\codeigniter\Common.php 第127行 我能做些什么来解决这个问题?您是否检查过他是否找到了比默认不启用缓存更好的解决方案 是否只有在默认情况下启用apc.cache_和apc.stat时才会

我正在尝试在本地主机上使用APC(可选PHP缓存)和wamp 2、PHP5.3和CodeIgniter 1.7.2,但是,如果默认情况下打开Cache_并启用APC.stat,服务器将崩溃,并出现以下错误:

[apc错误]无法重新声明类 中的ci_基准 C:\wamp\www\k\mvc\codeigniter\Common.php 第127行

我能做些什么来解决这个问题?

您是否检查过他是否找到了比默认不启用缓存更好的解决方案

是否只有在默认情况下启用apc.cache_和apc.stat时才会发生这种情况?出于性能原因,您不希望在生产服务器上运行apc.stat。而且根本不需要在dev服务器上运行缓存,除了作为转移到生产环境之前的最后检查,此时您可以手动清除缓存


您的生产服务器也是windows机箱吗?我之所以这么问,是因为在不同的环境中开发和运行时,很容易失去很多时间来跟踪bug和配置问题。如果生产环境与您的开发环境有很大的不同,这是另一个支持关闭开发设备上的缓存并继续更高效地利用您的时间-开发您的应用程序的论点。

尝试更改该功能中的要求以包含一次。因此,该文件将只包含一次。在这个函数中,我的意思是:system/codeigniter/Common.php:function&load_class($class,$instantiate=TRUE),我想这应该会有所帮助。我认为APC正在以攻击性方式缓存。

当您禁用APC.stat时,APC似乎在相对路径方面存在问题。CodeIgniter在main index.php文件中使用一个相对路径,因此它会破坏一些东西

打开index.php并更改以下内容:

$system = '../system';
为此:

$system = '/var/www/system';

用您的服务器到CodeIgniter系统文件夹的完整路径替换“/var/www/”。

到另一个线程的链接由我提供,我没有找到解决方案,这就是为什么我在这里发布我的问题的原因。只有在默认情况下运行cache_和apc.stat时才会发生这种情况,即使您应该在生产服务器上禁用stat,我想知道为什么会发生这种情况。我的生产服务器不是windows机器。我在AWS Elastic Beanstalk上运行PyroCMS/Codigniter时遇到类似问题。