【发布时间】:2011-08-04 06:01:41
【问题描述】:
只是好奇。它在手册here 中没有记录。
也许熟悉APC源码的人可以解释一下?
【问题讨论】:
只是好奇。它在手册here 中没有记录。
也许熟悉APC源码的人可以解释一下?
【问题讨论】:
它指定 APC 在启动时加载缓存数据的目录。在大型设置中(想想 100 多台服务器),这将允许您放弃编译 php 文件。如果您比 APC 和 php 编译器或其他类型的默认数据更聪明,您也可以提供自己的编译。
除了this one occurence,它没有被使用。除非您遇到上述问题之一,否则不应设置它。
【讨论】:
在编写此选项时,由于 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 将不会返回内容,因此无法解决此问题。
【讨论】: