我们有一个大型管理软件,可以根据众多循环,数据库检索,对象创建(许多)等生成各种大型报告.
在PHP4上它可以高兴地运行,内存限制为64 MB - 现在我们已将它移动到新服务器上并使用相同的数据库 - 相同的代码,相同的报告不会在没有内存限制的情况下出现...
我知道PHP5已经在很多方面发生了变化,但有没有办法让它表现得很好?
最后的问题是,当你需要节食脚本时,你会采用什么策略?
我们遇到的一个大问题是对象之间的循环引用,当它们超出范围时阻止它们释放内存.
根据您的体系结构,您可以使用__destruct()并手动取消设置任何引用.对于我们的问题,我最终重组了类并删除了循环引用.
当我需要优化任何脚本上的资源时,我总是尝试分析,分析和调试我的代码,我使用xDebug和xDebug Profiler,还有其他选项,如APD和Benchmark Profiler.
另外我推荐你这篇文章:
使PHP应用程序快速,快速,快速..
分析PHP应用程序 (PDF)
PHP与性能 (PDF)