在PHP中,你可以使用shell_exec或exec函數來執行Linux命令并捕獲錯誤輸出
shell_exec函數:<?php
$command = "ls /non/existent/folder";
$output = shell_exec($command . 2>&1);
echo "<pre>$output</pre>";
?>
在這個例子中,我們嘗試列出一個不存在的文件夾。2>&1表示將錯誤輸出(文件描述符2)重定向到標準輸出(文件描述符1)。
exec函數:<?php
$command = "ls /non/existent/folder";
$output = [];
$return_var = 0;
exec($command . " 2>&1", $output, $return_var);
if ($return_var !== 0) {
echo "Error: " . implode("\n", $output);
} else {
echo "<pre>" . implode("\n", $output) . "</pre>";
}
?>
在這個例子中,我們同樣嘗試列出一個不存在的文件夾。我們將命令的輸出和錯誤輸出分別存儲在$output和$return_var中。如果$return_var不等于0,表示命令執行失敗,我們輸出錯誤信息。否則,我們正常輸出命令的輸出。
注意:在使用這些函數時,請確保你的PHP腳本有足夠的權限來執行命令。如果需要,你可以使用sudo來提升權限,但請注意這可能會帶來安全風險。