问题是我想在内存问题发生之前发现它们。我有一个从数据库获取行并将返回的关联数组转换为变量的系统,但我永远不知道数据库结果的大小是多少,或者一旦发出数据库请求将占用多少内存。这意味着我的软件可能会因为超出内存而失败。
但我想以某种方式避免这种情况。其中一种方法显然是使数据库请求更小,但如果这是不可能的,或者如果我不知道从数据库返回的数据大小怎么办?是否有可能“捕捉”在 PHP 中超出内存使用的情况?像这样的东西:
$requestOk=memory_test(function(){
return doSomething();
});
if($requestOk){
// Memory seems fine
// $requestOk now has the value from memory_test() function
} else {
// Function would have exceeded memory
}
我只是发现我的脚本可能会因为内存问题而随时死掉,这是有问题的。据我所知,这里不能使用 try-catch,因为这是一个致命错误。
任何帮助,将不胜感激!