shell_exec

FunctionParams and return types changed in PHP 8.0

Execute command via shell and return the complete output as a string.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1
PHP 8.2-8.3
PHP 8.4
PHP 8.5
PHP 8.6

shell_exec Function synopsis

shell_exec(string $command): string|false|null

Parameters

$command

Typestring

The command that will be executed.

Return value

Typestring|false|null

A string containing the output from the executed command, false if the pipe cannot be established or null if an error occurs or the command produces no output.

This function can return `null` both when an error occurs or the program
produces no output. It is not possible to detect execution failures using
this function. [`exec`](/codex/exec) should be used when access to the
program exit code is required.

Changes to the shell_exec Function

PHP 8.0

  • Return type added: string|false|null
  • Parameter name of parameter #1 changed: $cmd to $command
  • Parameter type added for parameter #1 ($command): string
- shell_exec($cmd)
+ shell_exec(string $command): string|false|null

shell_exec Function Availability

PHP VersionAvailability
PHP 8.6Upcoming Release Yes
PHP 8.5Supported (Latest) Yes
PHP 8.4Supported Yes
PHP 8.3Security-Fixes Only Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Unsupported Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes