gpt4 book ai didi

PHP "Uninclude"或从内存中删除?

转载 作者:搜寻专家 更新时间:2023-10-31 21:40:24 24 4
gpt4 key购买 nike

我正在构建一个测试工具来执行遗留 PHP 代码的目录,这些代码非常难以进行单元测试,尽管我为此工具使用了 PHPUnit。

PHPUnit 的一个很酷的事情是它将 PHP 通知、警告和错误冒泡到一个异常中。利用这些知识,我构建了一个工具,用于递归 include() try/catch block 中目录中的文件并记录所有异常。

问题是,如果我包含数百个文件,这会很快变成内存占用和崩溃。我考虑过使用它,但我不确定这是否会从内存中“清除”它:

// Include file into buffer
ob_start();

include($file);

// Clear file from buffer
ob_clean();

处理这种性质的事情并适本地管理内存/资源的最佳方法是什么?

[编辑]

此外,这是我正在开发的一个内部工具,用于帮助管理包含不可测试(在时间限制意义上)遗留程序代码的数千个文件。 p>

这个想法怎么样?

// Enable garbage collector (in case this helps?)
gc_enable();

// Get procedural php and execute it
$fileData = file_get_contents($file);
eval($fileData);

// Clear variable
$fileData = null;

最佳答案

如果您创建一个单独的 CLI 脚本(“测试器”),一次包含一个文件并记录异常,并让您的主脚本(“迭代器”)遍历/递归到脚本目录中,会怎样您需要通过 shell 为每个文件测试和调用测试器脚本吗?

关于PHP "Uninclude"或从内存中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com