В приложении для управления домашним сервером я добавил функцию удаленного пробуждения ПК через приложение.
PHP-скрипт, который делает это, прекрасно работает, но я хочу быть в состоянии сделать это с помощью AJAX-вызова.
Звонок происходит так:
Пользователь нажимает на сгенерированную PHP ссылку:
<a href=\"javascript:wake('$hostname')\">Wake</a>
Где функция (jQuery):
function wake(hostname) {
$(document).ready(function()
{
alert('function works');
$.post('ajax/wake.php',{host: hostname});
alert('Command executed');
});
}
Отображаются оба предупреждения, что означает выполнение AJAX-вызова.
PHP-скрипт выглядит так:
<?php
include_once("../classes/BLClient.php");
$blClient = new BLClient(true);
$hostname = $_GET["host"];
$client = $blClient->getClientByHostname($hostname);
$mac = $client->getMac();
echo `sudo etherwake -i eth1 $mac`;
?>
Однако мои компьютеры не проснулись. Если я перехожу непосредственно к сценарию, он работает ...