基于YII的一个站在服务器上出现了一个比较少见的错误:
A PHP Error was encountered
Severity: Warning
Message: include(): Unable to allocate memory for pool.
找了些资料发现是服务器上APC缓存设置造成的,解决方法如下:
将APC设置中的 apc.cache_by_default 设置为1 即 apc.cache_by_default=1
这个选项的解释:
apc.cache_by_default boolean
默认为 on,但可以设为 off 并和加号开头的 apc.filters 一起用,则文件仅在匹配过滤器时被缓存。
apc.filters string
一个以逗号分隔的 POSIX 扩展正则表达式的列表。如果任一个模式匹配源文件名,则该文件不被缓存。
注意用来匹配的文件名是传递给 include/require 的文件名,而不是绝对路径。如果正则表达式的第一个
字符是 + 则意味着任何匹配表达式的文件会被缓存,如果第一个字符是 - 则任何匹配项都不会被缓
存。- 是默认值,可以省略掉。
(责任编辑:ken)