我的生产网站上收到了大量警告。喜欢
PHP: Require_once(): Unable To Allocate Memory For Pool
我知道它是由 APC 引起的,在我增加了shm_size
并减少gc_ttl
之后就消失了。但我的查询是如何在网页中显示该警告?我已禁用display PHP errors
并且只是记录它并且它不会在网站中显示任何PHP错误。
为了测试这个,我故意创建了一个脚本,它会抛出PHP警告和通知,是的,我很满意这些只是记录,不显示像APC错误。
那么,我如何禁用生产站点中的APC警告? (如果再次发生的话)
答案 0 :(得分:0)
我认为您应该在apc.ini
目录中修改php.ini
而不是conf.d
。 checkout php.ini使用phpinfo()在哪里使用apc.ini。
签出存在并且目录中的掩码正确(掩码为“XXXXX”):
apc.mmap_file_mask = / TMP / apc.XXXXXX
将内存增加到:
apc.shm_size = 96M
将内存时间设置为实时设置:
apc.ttl = 3600
临时缓存增加:
apc.gc_ttl = 3600
重新加载你的apache / nginx。
之后,您需要查找内存使用情况并设置apc.ttl和apc.shm_size。将/usr/share/php-pecl-apc/apc.php
复制到我们的www项目并通过浏览器apc.php运行。
在apc.php中编辑apc.php管理员密码:
默认值( 'ADMIN_PASSWORD', '类型这里管理员口令');
通过浏览器保存并运行。然后在Hits
中找到File cache information
以便cheeck几乎用于记忆。
从上面减少ttl值,这样就不会出现内存错误。