exec
是 PHP 中的一個函數,它允許你在 PHP 腳本中執行外部命令
$command = '/usr/bin/python3 /path/to/your/script.py';
is_executable()
函數檢查命令是否存在。if (is_executable($command)) {
// 執行命令
} else {
echo "命令不存在: " . $command;
}
exec()
或 shell_exec()
函數時,你可以捕獲命令的輸出,以便在出現問題時更容易地診斷問題。$output = [];
$return_var = 0;
exec($command, $output, $return_var);
if ($return_var !== 0) {
echo "命令執行失敗:\n";
foreach ($output as $line) {
echo $line . "\n";
}
} else {
echo "命令執行成功:\n";
}
2>&1
將錯誤輸出重定向到標準輸出:這樣你可以同時捕獲標準輸出和錯誤輸出,以便更好地了解命令的執行情況。$command = 'python3 /path/to/your/script.py 2>&1';
exec($command, $output, $return_var);
if ($return_var !== 0) {
echo "命令執行失敗:\n";
foreach ($output as $line) {
echo $line . "\n";
}
} else {
echo "命令執行成功:\n";
}
set -x
選項調試命令:在命令行中添加 set -x
可以顯示命令執行的詳細過程,幫助你找到問題所在。請注意,這種方法僅適用于命令行環境,而不是通過 PHP exec()
執行的命令。set -x
/usr/bin/python3 /path/to/your/script.py
通過遵循這些建議,你可以更有效地處理使用 PHP exec()
函數時可能遇到的用戶問題。