将 APC 操作码缓存限制到特定站点?Nginx + PHP-FPM + APC

将 APC 操作码缓存限制到特定站点?Nginx + PHP-FPM + APC

有没有办法在每个虚拟主机上启用/禁用 APC?我不想使用宝贵的 apc 共享内存来缓存我的 PHPmyAdmin 子域或较少使用的站点。设置是 Nginx、php-fpm 和 apc。

据我所知,APC 的过滤器设置无法与完整路径匹配,所以我正在寻找其他方法。

答案1

你必须在你的 中设置两个独立的 php“工作者”池php-fpm.conf每个都使用不同的 php_define以及不同的端口。一个会启用 APC,另一个则不会。如何启用或禁用 APC 取决于您是否将其内置到 PHP 可执行文件中。如果它是内置的,您需要添加apc.enabled=0一个 php_define 以在该工作池中禁用它。否则,您需要extension=apc.so从默认 .ini 文件中删除它并将其移动到其中一个 php_define 中以在该工作池中启用它。

在 nginix 中,您应该能够location通过在 中输入正确的端口来设置每个工作池的使用情况fastcgi_pass。您可以通过在每个位置创建一个调用 phpinfo() 的小脚本并检查 APC 的输出来测试它是否正常工作。

相关内容