PHP Manual
后退 |  | 前进

# system

(PHP 3, PHP 4, PHP 5)

system -- Execute an external program and display the output

## 说明

string system ( string command [, int &return_var] )

system() is just like the C version of the function in that it executes the given command and outputs the result.

The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.

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.

## 参数

command

  The command that will be executed.

return_var

  If the return_var argument is present, then the return status of the executed command will be written to this variable.

## 返回值

Returns the last line of the command output on success, and `FALSE` on failure.

## 例

例子 1. system() example
`<?php echo '<pre>'; // Outputs all the result of shellcommand "ls", and returns // the last output line into $last_line. Stores the return value // of the shell command in $retval. $last_line = system('ls', $retval); // Printing additional info echo ' </pre> <hr />Last line of the output: ' . $last_line . ' <hr />Return value: ' . $retval; ?>`

## 注释

警告
如果想允许用户输入的数据被传入此函数，则应使用 escapeshellarg() 或 escapeshellcmd() 函数来确保用户不能欺骗系统从而执行任意命令。

> 注: 如果你用此函数启动一个程序并希望保持在后台运行，必须确保该程序的输出被重定向到一个文件或者其它输出流去，否则 PHP 会在程序执行结束前挂起。

> 注: 在打开了安全模式时，只能执行在 safe_mode_exec_dir 之内的程序。为实用起见目前不能在指向程序的路径中包含 .. 成分。

警告
在打开了安全模式时，初始命令字符串之后的所有词都被看成一个单一的参数。因此，echo y | echo x 就成了 echo "y | echo x"。

## 参见

exec()
passthru()
popen()
escapeshellcmd()
pcntl_exec()
backtick operator

后退 | 起点 | 前进
shell_exec | 上一级 | Exif Functions