我有一个脚本,用于发送数据(大小约为 16MB),我使用php://input
.
$in = file_get_contents("php://input");
但是我遇到了内存限制问题,所以我使用memory_get_usage()
并意识到脚本在启动时已经消耗了 47MB 内存(在发出任何命令之前)。
我的猜测是,这是由于 PHP 预归档全局变量。所以我正在寻找一种方法来取消这些设置,因为我只读取 php://input 流。
我试过了:
unset($GLOBALS);
unset($_SERVER);
unset($_GET);
unset($_POST);
unset($_FILES);
unset($_REQUEST);
unset($_ENV);
unset($_COOKIE);
unset($HTTP_RAW_POST_DATA);
unset($http_response_header);
unset($argc);
unset($argv);
gc_collect_cycles();
并将内存使用量从 47MB 减少到 31MB。
我还能做些什么,让 PHP 在启动时消耗更少的内存?
它会给我更多的记忆来处理我收到的数据。