PHP exec()使用内存

Jas*_*son 4 php memory exec

我似乎无法为这一个找到明确的答案.

使用exec()PHP 调用shell命令时,shell命令使用的内存是否计入PHP脚本的内存限制?

我意识到,如果该命令生成大量输出,并且该输出是在$ouput(第二个)参数中捕获的exec(),那么返回的数据可能会破坏PHP内存限制.但是,假设所有输出都发送到文件,如果该exec()命令需要运行128M内存,那么具有64M内存限制的PHP脚本是否能够运行它?

<?php
exec('command_using_128M_memory >/dev/null 2>&1');
Run Code Online (Sandbox Code Playgroud)

我假设PHP5.3 +

Joh*_*ell 7

exec()命令不直接计入PHP,因为该过程是单独执行的,而不是从PHP进程内部执行的.话虽如此,如果您使用任何输出变量与命令,他们将计入限制.

因此,如果您有一个产生大量详细日志记录的文件,并且您正在捕获该日志记录,那么它将计入内存限制.

  • 我不太确定这是对的.我使用exec()而没有指定返回的PHP内存不足. (2认同)