gpt4 book ai didi

php - FastCGI下运行时如何在多个PHP进程之间共享APC缓存?

转载 作者:IT王子 更新时间:2023-10-28 23:57:51 24 4
gpt4 key购买 nike

我目前正在运行多个 PHP/FastCGI 副本,并启用了 APC(在 Apache+mod_fastcgi 下,如果这很重要的话)。我可以在进程之间共享缓存吗?如何检查它是否已经共享? (我认为可能涉及到 apc.mmap_file_mask ini 设置,但我不知道如何使用。)

(我认为目前它的 共享的原因之一是 apc.mmap_file_mask,如 apc.php Web 界面所报告的那样,在大约 3重新加载时会出现不同的值。)

最佳答案

APC 目前在多个运行在 fastcgi 或 fcgid 下的 php-cgi 工作人员之间共享其缓存。见 this feature request有关详细信息:“此行为是目前的预期行为”。

一种解决方法是允许 PHP 管理自己的工作程序。您可以使用包装脚本中的 PHP_FCGI_CHILDREN 环境变量来执行此操作(网络上为此提供了大量示例)。如果你想使用这个方法,你还应该阻止 fastcgi/fcgid 生成多个 PHP 进程。

PHP_FCGI_CHILDREN的缺点是它对worker的管理不如fcgid/fastcgi提供的。

所以,我们到了。 fcgid/fastcgi 环境中的 APC 意味着给每个 PHP worker 自己的缓存,或者禁用 fcgid/fastcgi 的进程生成以支持 PHP 的内置管理。让我们希望这种情况在未来有所改变。

关于php - FastCGI下运行时如何在多个PHP进程之间共享APC缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/598444/

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