PHP中通过system、shell_exec、exec和passthru方法来执行系统命令。system执行外部程序(命令行);shell_exec通过shell环境执行命令;exec执行一个外部程序;passthru执行外部程序。
通过执行系统命令,我们可以调用系统的一些功能,甚至能与其他语言进行交互。
1、system() :
system — 执行外部程序(命令行),并且显示输出
这个函数会将结果直接进行输出 (注意:是直接输出区别于返回值,因为这个,我一般不用它),命令成功后返回输出的最后一行,失败返回FALSE
2、shell_exec():
shell_exec — 通过 shell 环境执行命令 ( 这就意味着这个方法只能在 linux 或 mac os的shell环境中运行 ),并且将完整的输出以字符串的方式返回。
命令执行的输出。 如果执行过程中发生错误或者进程不产生输出,则返回 NULL。
3、exec():
exec — 执行一个外部程序
返回命令执行结果的最后一行内容。如果想要获取命令的输出内容, 请确保使用 output 参数
4、passthru():
passthru — 执行外部程序并且显示原始输出
总结:我们执行外部命令时,如果想获取到执行结果。最合适的方法是 exec()方法,它不会有自动的输出。如果结果只有一行,则结果可以直接是它的返回值。如果返回结果有多个,则可以考虑使用output 或 return_var 参数获取它的返回值
更多相关知识,请访问 PHP中文网!!