php8.5
Home/ Manual/ exec / functions/ exec

exec

PHP function Edit on GitHub ✎

(PHP 4, PHP 5, PHP 7, PHP 8)

Execute an external program

Description

exec(string $command, array $output = null, int $result_code = null): string|false

exec() executes the given command.

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().

result_code

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

Return Values

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.

Returns false on failure.

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

Errors/Exceptions

Emits an E_WARNING if exec() is unable to execute the command.

Throws a ValueError if command is empty or contains null bytes.

Changelog

VersionDescription
8.0.0If command is empty or contains null bytes, exec() now throws a ValueError. Previously it emitted an E_WARNING and returned false.

Examples

An exec() example

php
<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
exec('whoami', $output, $result_code);
echo "Returned with status $result_code and output:\n";
print_r($output);
?>

The above example will output something similar to:

output
Returned with status 0 and output:
Array
(
    [0] => cmb
)

Notes Escapeshell Exec-bg Exec-bypass-shell

See Also

Source: reference/exec/functions/exec.xml · from the official PHP manual (php/doc-en)