[英]Running “Last” Linux Command
我正在嘗試用PHP執行linux命令,這是我的示例代碼:
$command = "last -F";
$o = shell_exec($command);
print_r($o);
大多數Linux命令給我一個輸出,但對於Last -F
命令,我沒有輸出。 為什么會這樣?
您正在以web用戶( nobody
或www-data
)執行該命令,該用戶是有限的特權用戶。您必須以root身份執行該命令。 不幸的是,給網絡用戶提供sudo權限或完全權限是一個壞主意。 因此,我建議創建一個執行last -F
的cron或后台腳本,並將輸出寫入文件。 您可以從PHP腳本中讀取該文件。
你可以讓腳本像這樣在后台運行。
#!/bin/bash
while [ true ]; do
last -F > /tmp/myfile
done
將代碼保存為mycron.sh
chmod +x mycron.sh
mycron.sh &
從PHP程序中讀取文件/tmp/myfile
。 它將給出該命令的確切輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.