system() is just like the C version of the function in that it executes the given command and outputs the result. If a variable is provided as the second argument, then the return status code of the executed command will be written to this variable.
警告 |
如果想允许用户输入的数据被传入此函数,则需要使用 escapeshellarg() 或 escapeshellcmd() 来确保用户不能欺骗系统从而执行任意命令。 |
注: 如果你用此函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束后挂起。
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.
Returns the last line of the command output on success, and FALSE on failure.
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.
注: 在打开了安全模式时,只能执行在 safe_mode_exec_dir 之内的程序。为实用起见当前不能在指向程序的路径中包含 .. 成分。
警告 |
在打开了安全模式时,任何初始命令字符串之后的词都被看成一个单一的参数。因此,echo y | echo x 就成了 echo "y | echo x"。 |
See also exec(), passthru(), popen(), escapeshellcmd(), pcntl_exec(), and the backtick operator.