是否可以清除PHP中的所有资源?
我知道你可以用get_defined_vars获得所有定义的函数
如果没有设置,您可以轻松清除这些资源.
但这对我来说还不够.我有一个脚本运行很长时间(约1小时30分钟)来执行许多功能..但是执行时脚本收集的信息不再重要..脚本导出产品并获得大约0.2MB – 0.5MB产品(3200产品)
这超过600mb的内存使用量.我尽可能地优化了脚本,但是我没有把它缩小.
我可以通过get_included_files或get_declared_classes获取所有包含的文件;是否有可能清除这些信息?删除类(除了一些必需的自动加载器类)或其他包含的文件,以便我可以释放更多的RAM?
或者您是否知道在执行时优化服务器使用的其他方法?
也许这是一个愚蠢的问题,但我很乐意为每个提示改进PHP脚本的性能.
脚本环境的信息:该脚本在旧的Magento 1.4版本上运行,该版本在缓存和性能方面存在巨大问题;目前无法对更新版本进行更新.
解决方法:
我们有一个脚本消耗了高达2GB的内存,并且像疯了一样泄露了内存(它使用了Doctrine 1.1).
在尽可能多地取消设置之后,我们将gc_enable()添加到脚本的顶部,并将gc_collect_cycles()添加到战略位置.
这确实有助于回收一些使用过的内存,但确实减慢了脚本的速度.