gpt4 book ai didi

PHP + APC : How to cache data up to 128M?

转载 作者:可可西里 更新时间:2023-10-31 23:23:21 26 4
gpt4 key购买 nike

我有大数据部分要缓存在 APC 中(普通文件缓存太慢)。 apc_store 函数总是为这个数据量返回 false:

我试着做这样的事情:

ini_set('apc.max_file_size', '128M');
die(ini_get('apc.max_file_size'));

输出是1M!它不会抛出任何错误,但它根本不起作用。我拥有的所有其他 ini_set(例如 memory_limit)都运行良好,所以这不是权限问题。

我的 APC 信息是:

Version 3.1.3p1
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread mutex Locks
Revision $Revision: 286798 $
Build Date Apr 18 2010 06:56:17

设置是:

apc.cache_by_default On
apc.canonicalize On
apc.coredump_unmap Off
apc.enable_cli Off
apc.enabled On
apc.file_md5 Off
apc.file_update_protection 2
apc.filters no value
apc.gc_ttl 3600
apc.include_once_override Off
apc.lazy_classes Off
apc.lazy_functions Off
apc.max_file_size 1M
apc.mmap_file_mask no value
apc.num_files_hint 1000
apc.preload_path no value
apc.report_autofilter Off
apc.rfc1867 Off
apc.rfc1867_freq 0
apc.rfc1867_name APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_
apc.rfc1867_ttl 3600
apc.shm_segments 1
apc.shm_size 128
apc.stat On
apc.stat_ctime Off
apc.ttl 0
apc.use_request_time On
apc.user_entries_hint 4096
apc.user_ttl 0
apc.write_lock On

我应该设置什么来允许缓存如此大的数据药水?

最佳答案

根据@Ugo Meda 的评论,我想与您分享我对这个问题的解决方案。正如他正确指出的那样,我无法通过 ini_set 设置 APC 设置(即 apc.max_file_size)。它只是返回 false 而其他设置(即 memory_limit)工作正常!

所以我唯一能做的就是直接在 apc.ini 中设置它。这个文件在 Ubuntu 上的位置是:

/etc/php5/conf.d/apc.ini

有时您的 APC 设置在 [APC] 部分的 php.ini 中 - 此文件在 Ubuntu 上的位置是:

/etc/php5/apache2/php.ini

如果找不到,只需运行此命令:

find / -name apc.ini

如果没有这样的文件 (apc.ini) 尝试在那里寻找 php.ini 和 [APC] 部分:

find / -name php.ini

一旦找到正确的配置文件,您就可以编辑它的选项了。我只是在那里添加了这两行:

apc.shm_size=512

apc.max_file_size=128M

编辑后,保存它并重新启动 Apache(Ubuntu - /etc/init.d/apache2 restart)。如果由于某种原因您无法运行此命令,或者您没有权限提到 *.ini 文件,请在上面每个命令的开头添加 sudo 命令。

关于 apc.shm_size 的更多注意事项:

如果您的 APC 版本低于 3.1.4,则此配置选项的值必须按照我写的相同格式编写(末尾没有 'M')。如果你的版本是3.1.4或者更高,那么你需要这样指定:512M

来源:http://e-mats.org/2010/10/apc_mmap-mmap-failed-cannot-allocate-memory/

@Ugo Meda - 再次感谢您向我指出这一点!

关于PHP + APC : How to cache data up to 128M?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11454469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com