php 执行linux?linux执行命令
很多朋友对于php 执行linux和linux执行命令不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
如何让php执行shell
php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system()输出并返回最后一行shell结果。
exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru()只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
例子:system("/usr/local/bin/webalizer/webalizer");
PHP执行linux系统命令
首先先要给大家介绍PHP执行linux系统命令的几个基本函数我曾经很长一段时间都分不清下面几个函数的具体用法区别 system函数说明执行外部程序并显示输出资料语法 string system(string mand int [return_var]);返回值:字符串详细介绍本函数就像是 C语中的函数 system()用来执行指令并输出结果若是 return_var参数存在则执行 mand之后的状态会填入 return_var中同样值得注意的是若需要处理用户输入的资料而又要防止用户耍花招破解系统则可以使用 EscapeShellCmd()若 PHP以模块式的执行本函数会在每一行输出后自动更新 Web服务器的输出缓冲暂存区若需要完整的返回字符串且不想经过不必要的其它中间的输出界面可以使用 PassThru()实例代码
<?php$last_line= system( ls$retval); echo Last line of the output:$last_line; echo<hr/>Return value:$retval;?>
exec函数说明执行外部程序语法 string exec(string mand string [array] int [return_var]);返回值:字符串详细介绍本函数执行输入 mand的外部程序或外部指令它的返回字符串只是外部程序执行后返回的最后一行若需要完整的返回字符串可以使用 PassThru()这个函数要是参数 array存在 mand会将 array加到参数中执行若不欲 array被处理可以在执行 exec()之前呼叫 unset()若是 return_var跟 array二个参数都存在则执行 mand之后的状态会填入 return_var中值得注意的是若需要处理使用者输入的资料而又要防止使用者耍花招破解系统则可以使用 EscapeShellCmd()实例代码
<?php echo exec( whoami);?><?$fp= popen("/bin/ls""r");?> lishixinzhi/Article/program/PHP/201311/21017
如何通过PHP执行linux命令
你想问得是php如何执行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()这三个函数实现\x0d\x0a虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:\x0d\x0a system()输出并返回最后一行shell结果。\x0d\x0a exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。\x0d\x0a passthru()只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。\x0d\x0a相同点:都可以获得命令执行的状态码\x0d\x0a例子:system("ls-al");\x0d\x0a【使用之前要在php.ini中把safe_mode关闭】