All 3 PHP functions: exec(), system() and passthru() executes an external command, but the differences are:
- exec(): returns the last line of output from the command and flushes nothing.
- shell_exec(): returns the entire output from the command and flushes nothing.
- system(): returns the last line of output from the command and tries to flush the output buffer after each line of the output as it goes.
- passthru(): returns nothing and passes the resulting output without interference to the browser, especially useful when the output is in binary format.
One reply on “PHP: Differences between exec(), shell_exec(), system() and passthru()”
[…] There are a variety of different PHP functions that perform essentially the same task, running system commands: exec, shell_exec, system and passthru. […]