Home > Article > Backend Development > Summary of usage of php external execution command function
The example in this article describes the usage of PHP external execution command function. I share it with you for your reference. The details are as follows:
First of all, I need to self-examine myself. I have been studying and using PHP for more than a year, and I have been studying and using Linux systems for almost a year. I actually don’t know PHP. An interpreted language can directly call operating commands to control the system...
Let’s first summarize the operations of Linux. I won’t mention the commonly used cd, cp, mv, rm and the like. The first point worth summarizing is that ordinary users When extracting root permissions, you need to add sudo before the command, and then the command to output the line number in the vi editor is: set nu.
PHP’s built-in functions exec and system can call system commands (shell commands). However, if you want to use these two functions, the safe mode in php.ini must be turned off, otherwise PHP will not allow calling system commands for security reasons. .
First take a look at the explanation of these two functions in the PHP manual:
1. exec --- Execute external programs
Syntax: string exec ( string command [, array &output [, int &return_var]] )
Description:
exec() executes the given command command, but it does not output anything. It simply returns the last line from the result of the command. If you need to execute a command, and get all the information from the command When, you can use the passthru() function.
If the parameter array is given, the specified array will be filled with each line output by the command. Note: If the array already contains some elements, exec() will append it to the end of the array. If If you don't want this function to append elements, you can call unset() before passing the array to exec().
2. system --- Execute an external program and display the output
Syntax: string system ( string command [, int &return_var] )
Description:
system() executes the given command command and outputs the result. If the parameter return_var is given, the status code of the executed command will be written to this variable.
If PHP is running as a server module, system() will try to automatically clear the web server's output buffer after outputting each line. Returns the last line of the command on success, false on failure.
If you need to execute a command and get all the data from the command, you can use the passthru() function.
Both of them are used to call system shell commands.
The difference is:
exec can return all the execution results to the $output function (array), $status is the status of the execution. 0 means success, 1 means failure.
systerm does not need to provide the $output function. It returns the result directly. Similarly, $return_var is the execution status code. 0 is success and 1 is failure.
exec example:
The following is the quoted content:
<?php $a = exec("dir",$out,$status); print_r($a); print_r($out); print_r($status); ?>
system example:
The following is the quoted content:
<?php $a = system("dir",$out); print_r($a); print_r($out); ?>
I hope this article will be helpful to everyone in PHP programming.
For more articles related to PHP external execution command function usage summary, please pay attention to the PHP Chinese website!