PHP has several commonly used functions for executing system commands, such as: system function, exec function, popen function, passthru, shell_exec function, they can all execute system commands
Exec function
The syntax of the Exec function is: (recommended learning: PHP programming from entry to proficiency)
exec ( string $command [, array &$output [, int &$return_var ]] ) = exec('ping 127.0.0.1',$output,$return_var)
The function of this function is to execute the command specified by the command parameter. The value after the command is executed is the last line of the output value, and the function itself will not print anything.
String, array and int are the data types of parameters, which are string, array and integer respectively.
The square brackets mean that if the previous parameter exists, the parameters in the square brackets can be written or not. For example: if the $command parameter exists, the $output parameter is optional; if the $output parameter does not exist, $return_var cannot appear.
Command: The command to be executed.
Output: If the output parameter is provided, this array will be filled with the output of the command execution, with each line of output filling one element in the array. The data in the array does not contain trailing whitespace characters, such as \n characters. Please note that if the array already contains some elements, the exec() function will append the contents to the end of the array. If you don't want to append at the end of the array, use the unset() function to reset the array before passing it to the exec() function.
return_var: If both output and return_var parameters are provided, the return status after command execution will be written to this variable. If the command is executed successfully, the status code is 0; if the command execution fails, the status code is 1.
System function
The syntax of the System function is:
system ( string $command [, int &$return_var ] ) = system('ping -c 127.0.0.1',$return_var)
The same as the C version of the system() function, this The function executes the command specified by the command parameter and outputs the execution result. The return value after command execution is the last line of the output value, and the function itself will also print all output values.
String and int are the data types of parameters, which are string and integer respectively.
If PHP is running in the server module, the system() function will also try to automatically refresh the web server's output cache after each line of output.
Command: The command to be executed.
return_var: If the return_var parameter is provided, the return status after the external command is executed will be set to this variable. If the command is executed successfully, the status code is 0; if the command execution fails, the status code is 1.
Passthru function
The syntax of the Passthru function is:
passthru ( string $command [, int &$return_var ] ) = passthru('ping 12.0.0.1',$return_var)
String and int are the data types of the parameters, respectively. Strings and integers. The function itself prints all output values, but the function does not return a value.
Similar to the exec() function, the passthru() function is also used to execute external command command. When the executed system command outputs binary data and needs to be transmitted directly to the browser, this function needs to be used instead of the exec() or system() function.
Command: The command to be executed.
return_var: If the return_var parameter is provided, the return status of the Unix command will be logged to this parameter.
Shell_exec function
The syntax of the Shell_exec function is:
$output=shell_exec ( string $cmd ) = $output=shell_exec(`ping 127.0.0.1`) = $output=shell_exec("ping 127.0.0.1")
cmd is the command to be executed.
String is the data type of the parameter, which is a string. The function will input all output values as string input and return values after the command execution is completed, and does not print any information itself.
The usage of the Shell_exec function is the same as the backtick. Note that the backtick (``) is used instead of the ordinary single quote ('').
The above is the detailed content of What are the php command execution functions?. For more information, please follow other related articles on the PHP Chinese website!