函數(shù)名稱:shell_exec()
適用版本:PHP 4, PHP 5, PHP 7
函數(shù)描述: shell_exec() 函數(shù)執(zhí)行指定的 shell 命令,并將命令的輸出作為字符串返回。與 exec() 函數(shù)不同的是,shell_exec() 函數(shù)返回的是命令輸出的完整結(jié)果,而不僅僅是最后一行。
語法: shell_exec ( string $cmd ) : string|NULL
參數(shù):
- $cmd: 必需,要執(zhí)行的 shell 命令。
返回值:
- 如果成功執(zhí)行命令,則返回命令輸出的字符串結(jié)果。
- 如果命令執(zhí)行失敗或者禁用了該函數(shù),則返回 NULL。
示例1:
$output = shell_exec('ls -l');
echo "<pre>$output</pre>";
上述示例將執(zhí)行 "ls -l" 命令,并將結(jié)果賦值給 $output 變量。然后,使用 <pre>
標(biāo)簽將結(jié)果以原樣輸出到瀏覽器。
示例2:
$output = shell_exec('php -v');
echo "<pre>$output</pre>";
上述示例將執(zhí)行 "php -v" 命令,顯示 PHP 版本信息,并將結(jié)果賦值給 $output 變量。然后,使用 <pre>
標(biāo)簽將結(jié)果以原樣輸出到瀏覽器。
注意事項(xiàng):
- shell_exec() 函數(shù)在執(zhí)行 shell 命令時(shí)依賴于操作系統(tǒng)的可用性,因此在不同的操作系統(tǒng)上可能會(huì)有不同的結(jié)果。
- 為了安全起見,應(yīng)該謹(jǐn)慎使用 shell_exec() 函數(shù),并且只允許執(zhí)行受信任的命令。
- 在使用 shell_exec() 函數(shù)時(shí),需要確保 PHP 的配置文件中沒有禁用該函數(shù)(disable_functions 配置項(xiàng))。
- 在某些情況下,可能需要使用絕對(duì)路徑來執(zhí)行命令,例如 '/usr/bin/ls'。
- 如果命令需要用戶輸入,請(qǐng)使用其他函數(shù)(如 exec() 或 passthru()),因?yàn)?shell_exec() 函數(shù)不支持與 shell 進(jìn)程進(jìn)行交互。