【问题标题】:APC Caching with variable includes带变量的 APC 缓存包括
【发布时间】:2009-07-08 16:53:34
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php apc opcode


    【解决方案1】:

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

    如果您被绑定到条件包含,您应该考虑到这也许根本不是什么大问题。 :)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        在使用 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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多