Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未通过AJAX调用执行PHP shell命令_Php_Ajax_Shell_Wake On Lan - Fatal编程技术网

未通过AJAX调用执行PHP shell命令

未通过AJAX调用执行PHP shell命令,php,ajax,shell,wake-on-lan,Php,Ajax,Shell,Wake On Lan,在我的homeserver管理应用程序中,我添加了一个功能,可以通过该应用程序远程唤醒PC。 实现这一点的PHP脚本非常有效,但我希望能够通过AJAX调用实现这一点 调用如下所示: <?php include_once("../classes/BLClient.php"); $blClient = new BLClient(true); $hostname = $_GET["host"]; $client = $blClient->getClientByHostname($host

在我的homeserver管理应用程序中,我添加了一个功能,可以通过该应用程序远程唤醒PC。 实现这一点的PHP脚本非常有效,但我希望能够通过AJAX调用实现这一点

调用如下所示:

<?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`;
?>
用户单击PHP生成的链接:

<a href=\"javascript:wake('$hostname')\">Wake</a>
显示两个警报,这意味着执行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`;
?>


但是,我的电脑没有被唤醒。如果我直接浏览到脚本,它确实有效…

您正在触发一个
$。post
ajax请求,但您正在PHP脚本中读取一个
$\u GET
参数。改为执行
$.get
ajax请求,否则数据将在
$\u POST
中,而不是在
$\u get


或者,您可以使用
$\u请求
superglobal,它在PHP中同时包含post和get变量。

您正在触发一个
$.post
ajax请求,但您正在PHP脚本中读取一个
$\u get
参数。改为执行
$.get
ajax请求,否则数据将在
$\u POST
中,而不是在
$\u get

或者,您可以使用
$\u请求
superglobal,它在PHP中包含post和get变量。

您可能需要使用

$\u POST[“主机”]
$\u请求[“主机”]
在您的php脚本中,正如您正在做一篇Jquery文章一样

在浏览器中,您可能正在传递主机,如:

 http://www.mysite.com/ajax/wake.php?host=xxxxxxxx
这会导致$\u GET中出现“主机”。

您可能需要使用

$\u POST[“主机”]
$\u请求[“主机”]
在您的php脚本中,正如您正在做一篇Jquery文章一样

在浏览器中,您可能正在传递主机,如:

 http://www.mysite.com/ajax/wake.php?host=xxxxxxxx

这导致“主机”出现在$\u GET中。

你正在进行post调用“
$.post
”,因此在这里你必须使用“
$\u post[“主机”]

你正在进行post调用“
$.post
”,所以在这里你必须使用“
$\u post[“主机”