2

我一直在用 PHP 对 APC 缓存进行一些研究,发现条件包含不起作用。喜欢:

if($a) {
    include('a.php');
} else {
    include('b.php');
}

我的问题是:我可以通过变量包含来解决这个问题吗?如:

if($a) {
    $file = 'a.php';
} else {
    $file = 'b.php';
}
include($file);

后面的代码会被 APC 成功缓存吗?

4

3 回答 3

2

APC 仍会缓存文件,只是在稍后解析您的应用程序时。如果可能,建议始终包含两者。

如果您与条件包含相关联,您应该考虑这可能根本不是什么大问题。:)

于 2009-07-08T21:29:30.667 回答
0

APC 包包含一个文件 apc.php(我认为它最终位于 /usr/share/doc/ 下的某个位置,所以请复制一份),它将显示正在缓存的文件(您需要对其进行编辑和设置)查看完整路径的密码)-您是否确定它不起作用,或者您是否要摆脱似乎围绕 APC 的中国耳语?

于 2009-07-08T18:44:34.587 回答
0

现在看到了这个帖子。
认为它可能对某人有用。

使用 APC 时,如果apc.stat=0使用,则相对路径将不起作用include, require等。
您需要使用绝对路径。

例如:
考虑一个名为 myfolder 的文件夹中的脚本。

相对路径会导致错误:

<?php include 'script2.php'; ?>

而是使用绝对路径:

<?php include $_SERVER['DOCUMENT_ROOT'] . '/myfolder/script2.php'; ?>

有关更多信息,请参阅以下链接:
https ://bugs.php.net/bug.php?id=59493
http://www.phpbb.com/community/viewtopic.php?f=46&t=2112260&p=12919262#p12919262

于 2012-07-07T07:49:02.083 回答