我有一个APC问题。 Parent.php包含另一个具有相对路径的文件。 e.g。
require_once'child.php';
如果我清除apc_cache,然后加载Parent.php,它就可以了。 但是在随后的加载中,它失败了。死于require_once'child.php'。
显然,保存到apc_cache时的相对路径在下次加载时没有正确转换...
apc.include_once_override已关闭,因此不是。
还有什么呢?
编辑以添加错误: PHP致命错误:require_once()[function.require]:需要打开失败 '路径/到/ file.php'
答案 0 :(得分:3)
如果您的配置中有apc.stat=0
,则您的问题可能与此错误有关:https://bugs.php.net/bug.php?id=61854
在我的PHP配置中设置apc.stat=1
为我解决了这个问题。
答案 1 :(得分:0)
这是一个延伸,但当我处理硬链接文件时,我看到了与此相关的问题,这些文件可能通过不同的路径缓存。
无论如何,听起来像一个bug。您是最新的PHP和APC版本吗?如果是,请发布错误报告。
答案 2 :(得分:0)
我曾经在APC的相对路径上遇到过一个奇怪的问题。问题是它死于致命错误,我已经按照thread here解决了这个问题:
在我的项目中,以下几行让它发挥作用:
// Realpath needed to fix problem with APC
require_once realpath($fullPath);
答案 3 :(得分:0)
有同样的问题,为我的php版本下载正确的版本解决了这个问题。你可以在这里找到一堆版本(如果在windows上运行):http://dev.freshsite.pl/php-accelerators/apc.html