exec
(PHP 4, PHP 5, PHP 7, PHP 8)
Execute an external program
Description
exec() executes the given command.
Parameters
commandThe command that will be executed.
outputIf the
outputargument 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, callunset()on the array before passing it toexec().result_codeIf the
result_codeargument is present along with theoutputargument, 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
| Version | Description |
|---|---|
| 8.0.0 | If 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
// 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:
Returned with status 0 and output:
Array
(
[0] => cmb
)