And*_*rew 20 php memory-management
内存管理不是大多数PHP开发人员需要考虑的事情.我遇到了一个问题,我的命令行脚本内存不足.它对大量对象执行多次迭代,每次迭代产生多个数据库请求.我确信增加内存上限可能是一个短期解决方案,但我认为这不是一个合适的长期解决方案.我应该怎么做才能确保我的脚本没有使用太多内存,并且有效地使用内存?
Jon*_*Jon 37
当您遇到(或期望遇到)内存压力时,要做的第一件事是:如果您打算按顺序处理它们,请不要一次读取内存中的大量数据.
例子:
file); 相反,一次读一行这并不总是PHP中最方便的东西(数组不会削减它,并且有很多代码只适用于数组),但在最近的版本中,尤其是在引入生成器之后,它比以往更容易流式传输数据而不是分块.
遵循这种做法,宗教上也将"自动"为你处理其他事情: