我正在構建一個Web控件,讓我們的初級IT人員能夠管理我們的LifeSize手機上的固件。目前,我們通過上載新固件到一箇中央服務器,然後我們要升級如何用PHP Web電話替換命令行SSH工具?
cat new_firmware.cramfs | ssh -T [email protected] "upgrade all"
這問我要密碼每部手機上運行這個命令做到這一點,然後上傳固件。像冠軍一樣工作,但需要一些人熟悉CLI工具,通過SSH訪問該服務器,以及耐心地查找所有電話的所有IP。
它看起來像我們堅持使用密碼登錄,使用證書測試已經災難性的。這個設備並不是一臺功能完備的計算機,它是一臺運行微型私有嵌入式操作系統的電話。
我工作的一個PHP腳本,可以遍歷所有的手機,但基本上覆制該功能。這是我到目前爲止有:
<?php
$firmware_filename = "new_firmware.cramfs";
$firmware_stream = fopen($firmware_filename,"rb");
$ssh_connection = ssh2_connect("1.1.1.1", 22);
ssh2_auth_password($ssh_connection, "cli", "password");
$ssh_stream = ssh2_exec($ssh_connection,'upgrade all');
$written = stream_copy_to_stream($firmware_stream,$ssh_stream,-1);
if($written != filesize($full_filename)){
echo "The file is " . filesize($firmware_filename) . " bytes, I only wrote $written" . PHP_EOL;
}else{
echo "All Good" . PHP_EOL;
}
?>
但這總是返回
The file is 26988590 bytes, I only wrote 8192
,並在升級不正確地進行。
命令爲什麼不將LifeSize UVC Manager或LifeSize Control會的目的是什麼? – biplav 2014-04-15 09:53:31