Ala*_*orm 4 php memory memory-leaks memory-management xdebug
我有一个命令行脚本,它array()通过循环运行一个文件,并使用文件名作为参数来调用辅助对象上的方法.
每次运行脚本时,PHP memory_get_usage报告的数字越来越大
53294264
57019624
61374624
65699176
70230600
75157152
79900392
84630472
89359264
94300016
100031176
105202448
110360808
115777528
121146976
126784824
132366952
Run Code Online (Sandbox Code Playgroud)
直到我出错了
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
Run Code Online (Sandbox Code Playgroud)
很明显,某些东西正在泄漏内存,或某种全局/静态存储区域不断被添加.在PHP中调试此类错误的最佳方法是什么?有没有在PHP中无意中发生这种情况的常见情况?xDebug有一些神奇的选项可以帮助我查明这一点吗?其他工具?
我提出的最好的方法是跟随执行链并通过调用memory_get_usage()来乱丢代码库,直到找到确切的问题,但这似乎是一种单调乏味且低效的方法.