私はUBNT Toughswitchを持っていて、携帯電話でPHPとスクリプトを使って遠隔操作できます。私はUBNT mFiと同様のスクリプトでこれを行います。私はサーバーにSSH(rootで、私はこれまでにセットアップしたユーザーのみ)のスクリプトを実行し、その場所でスクリプトを実行します。スクリプトとPHPコードのすべてのR/W/EボックスをチェックしましたPHPのアクセス権の問題。そこでここではスクリプトです:HTTP GETリクエストでスクリプトを呼び出すためPHPがExpect Scriptを呼び出す(SSH経由でスクリプトを実行していますが、PHPで起動しています)
PHP:それは保存&までのすべてを介して取得します
#!/usr/bin/expect
set timeout 30
spawn ssh [email protected]$ip
expect {
"*assword:*" {
send "$password\r"
expect {
"*assword:*" {
close
continue
}
"*#*" {
send "grep -v 'switch.port.3.poe=48' /var/tmp/system.cfg > /var/tmp/tmpsystem.cfg; mv /var/tmp/tmpsystem.cfg /var/tmp/system.cfg\r"
expect {
"*not found*" {
close
}
"*#*" {
send "save && reboot\r"
interact
}
}
}
}
}
}
:ここ
<?php
system ("./tsport3-24-off.sh");
?>
<script type="text/javascript">
window.close();
</script>
スクリプト期待です&再起動の部分であり、php経由で起動された場合は実行されません。 SSHを通して、うまく動作します。私はまた、2つの異なるコマンドで保存しようとしましたが、& &が好きではなかった場合に備えて、別のスクリプトでその場所を確認してください。それは許可の問題のような何らかの理由で、& &再起動を送信することをPHPが拒否したようですが、別のデバイスのトラフsshに送信しているので意味がありません。これは、ポート3のpoe 24vをオフにすることです。私は(24/48)のために他のものを持っていて、再起動しても、PHPなしでは動作しますが、PHPでは動作しません。