exec

Execute an external program

&reftitle.description; `string` `exec` `string` `command` `array` `output` `int` `return_var`

`exec` executes the given `command`.

&reftitle.parameters;

`command`

- The command that will be executed.

`output`

- If the `output` argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as `\n`, is not included in this array. Note that if the array already contains some elements, `exec` will append to the end of the array. If you do not want the function to append elements, call `unset` on the array before passing it to `exec`.

`return_var`

- If the `return_var` argument is present along with the `output` argument, then the return status of the executed command will be written to this variable.

&reftitle.returnvalues;

The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the `passthru` function.

To get the output of the executed command, be sure to set and use the `output` parameter.

&reftitle.examples;

### An `exec` example

    <?php
    // outputs the username that owns the running php/httpd process
    // (on a system with the "whoami" executable in the path)
    echo exec('whoami');
    ?>

&reftitle.notes; &warn.escapeshell; ¬e.exec-bg; ¬e.exec-path; &warn.sm.exec;
&reftitle.seealso;

- `system`
- `passthru`
- `escapeshellcmd`
- `pcntl_exec`
- backtick operator