1、可能解决方法一:
系统:windows 2008 r2
环境:apache 2.4.9 (64)+php 5.5.14 (64)无意中从国外1个网站复制了解决方式,opcache.mmap_base = 0x20000000 ,经过在服务器上稳定运行了24+小时。日均pv 1.3W,没有出现假死,算是完美了。这个问题我也准备提交给火锅,默认的配置下是没有这段配置的。
2、可能解决方法二:
从 Moodle 2.6 开始,PHP 的扩展 OPcache 就被强烈推荐使用。OPcache 可以提升 Moodle 网站的性能,并降低内存的消耗。PHP 5.5 开始包含了 OPcache 扩展。微软今年已经推出了 Microsoft Drivers 3.2 for PHP for SQL Server,能够支持 PHP 5.6。我终于可以把 PHP 版本升级到 5.6 了,那顺理成章也要配置启用 OPcache 了。
首先在 php.ini 中要添加扩展的文件名。
然后根据 Moodle 官网的文档配置 OPcache 的参数项。
对于 max_accelerated_files 参数的说明:
这是 OPcache 哈希表中可存储的脚本文件数量的上限。实际的取值是在质数集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一个比设置值大的质数。设置值的取值范围是 200 到 100000 之间。Moodle 中建议设置为 4000,实际值就是 7963。Moodle 中核心的 php 文件数量不会超过这个数字,但是如果增加了插件或者做了二次开发,缓存的 php 文件数量大大超过 7963,那就建议把 max_accelerated_files 设置为 8000。