【问题标题】:What does apc.preload_path do in the APC settings?apc.preload_path 在 APC 设置中有什么作用?
【发布时间】:2011-08-04 06:01:41
【问题描述】:

只是好奇。它在手册here 中没有记录。

也许熟悉APC源码的人可以解释一下?

【问题讨论】:

    标签: php apc


    【解决方案1】:

    它指定 APC 在启动时加载缓存数据的目录。在大型设置中(想想 100 多台服务器),这将允许您放弃编译 php 文件。如果您比 APC 和 php 编译器或其他类型的默认数据更聪明,您也可以提供自己的编译。

    除了this one occurence,它没有被使用。除非您遇到上述问题之一,否则不应设置它。

    【讨论】:

      【解决方案2】:

      在编写此选项时,由于 APC 源代码中的错误,此选项已损坏 这将不允许您正确预加载缓存。

      在名为'static int apc_load_data(const char *data_file TSRMLS_DC)'的方法中的'main_apc.c'内部,需要存储的值的键的长度由以下行确定:

      key_len = strlen(key);
      

      如果我是正确的,这只是没有空终止符的字符串本身的长度 但是,“_apc_store”似乎想要包括终止符在内的密钥字符串的长度。 如果我将上面的行更改为:

      key_len = strlen(key)+1;
      

      然后预加载功能按预期工作。

      您还可以注意到在查看用户缓存条目 apc.php 时缺少 1 个字符。但是,如果您尝试将其用作密钥,则 APC 将不会返回内容,因此无法解决此问题。

      【讨论】:

        猜你喜欢
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 2012-01-02
        • 2010-10-03
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多