可以在运行为fastcgi / fcgid的多个PHP进程之间共享APC缓存吗?

时间:2009-11-20 18:42:39

标签: php fastcgi apc opcode fcgid

我正在运行一个运行为fcgid的PHP的LAMP框。 APC安装并运行良好。但是,每个PHP进程都有自己的缓存。这是一个问题,因为拥有10个PHP进程和300MB共享APC缓存比10个PHP进程更有意义,每个进程都有一个冗余的30MB非共享APC缓存。

8个月前(How to share APC cache between several PHP processes when running under FastCGI?)有一个关于这个主题的先前主题,我想知道从那时起这个领域是否有任何进展。

3 个答案:

答案 0 :(得分:1)

我几分钟之前在PHP https://bugs.php.net/bug.php?id=57825的错误跟踪中正在阅读它已经修复但是你必须使用spawnfcgi或php-fpm http://php-fpm.org/

引自Ramus

  

如果使用spawnfcgi或php-fpm,它可以正常工作。任何流程经理   启动父进程并从中生成子进程   会很好。

答案 1 :(得分:1)

据我所知,仍然不可能在多个进程中使用共享内存缓存与任何PHP cacher ...无论如何,除非你负载过重,否则你应该可以使用单独的缓存,我想,因为它们很快就会被填满。嘿,RAM现在很便宜!

答案 2 :(得分:0)

事实证明,如果您真正使用不同的流程,这仍然是不可能的:http://pecl.php.net/bugs/bug.php?id=11988(由APC相关部分的作者于2009年11月13日更新)。