我们有一个大型管理软件,它基于大量循环生成各种大报告,包括数据库检索、对象创建(许多)等等。
在 PHP4 上,它可以在 64 MB 的内存限制下愉快地运行 - 现在我们已经将它移到新服务器上并使用相同的数据库 - 相同的代码,如果没有内存限制,就不会出现相同的报告。 ..
我知道 PHP5 已经改变了很多东西,但是有没有办法让它正常运行?
最后的问题是,当您需要节食脚本时,您会采用什么策略?
最佳答案
我们遇到的一个大问题是对象之间的循环引用阻止它们在超出范围时释放内存。
根据您的架构,您可以使用 __destruct() 并手动取消设置任何引用。对于我们的问题,我最终重组了类并删除了循环引用。
关于php - 在 PHP5 中处理内存消耗的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231707/