Javascript 如何从php调用shell脚本
我正在尝试使用php调用shell脚本 这里我有一个ajax代码,它获取下拉值并将值发送到另一个php页面(Javascript 如何从php调用shell脚本,javascript,php,jquery,ajax,shell,Javascript,Php,Jquery,Ajax,Shell,我正在尝试使用php调用shell脚本 这里我有一个ajax代码,它获取下拉值并将值发送到另一个php页面(deleteSiled.php) deletesiled.php从该页面获取值,并使用参数调用delete slide.sh脚本,该脚本包含从主页获取的值 但是当我运行代码时,它并没有调用脚本 如何解决这个问题 以下是我所做的: 主页(index.php) AJAX代码: $("#deleteslide").click(function() { var prjid=
deleteSiled.php
)
deletesiled.php
从该页面获取值,并使用参数调用delete slide.sh
脚本,该脚本包含从主页获取的值
但是当我运行代码时,它并没有调用脚本
如何解决这个问题
以下是我所做的:
主页(index.php)
AJAX代码:
$("#deleteslide").click(function()
{
var prjid=document.getElementById("project-list").value;
var unitid=document.getElementById("unit-list").value;
var slidid=document.getElementById("slide-list").value;
var d ='deleteslide.php?projectId='+prjid+'&unitNo='+unitid+'&slideNo='+slidid;
$.ajax({
url:d,
success:function(output)
{
alert(output);
}
});
});
deleteSiled.php代码:
<?php
$prtId =$_GET["projectId"];
$utNo=$_GET["unitNo"];
$sdeNo=$_GET["slideNo"];
$c='/var/www/createslides/gen-json-data/delete-slide.sh '.$prtId.' '.$utNo.' '.$sdeNo;
//print("$c");
$output=shell_exec($c );
print("$output");
?>
这里deleteslide.php正在调用delete-slide.sh脚本,但脚本没有运行
有什么问题吗
如何解决此问题???尝试添加
错误报告(-1)代码>可能被禁用。尝试添加错误报告(-1)代码>可能被禁用。尝试添加错误报告(-1)代码>可能被禁用。尝试添加错误报告(-1)代码>可能被禁用。可能是您的脚本没有执行权限:-
1) 向您的sctipt授予执行权限:-
linux_shell>chmod+x/var/www/createslides/gen json data/delete-slide.sh
或
2) 使用“sh”运行脚本:-
$c='sh/var/www/createslides/gen json data/delete slide.sh'.$prtId'.$utNo'.$sdeNo
注意:-当您在linux shell中测试shell脚本时,它将以登录用户权限执行,但当您通过web运行它时,它将以apache用户权限运行,因此apache应具有执行该脚本的权限…可能是您的脚本没有执行权限:-
1) 向您的sctipt授予执行权限:-
linux_shell>chmod+x/var/www/createslides/gen json data/delete-slide.sh
或
2) 使用“sh”运行脚本:-
$c='sh/var/www/createslides/gen json data/delete slide.sh'.$prtId'.$utNo'.$sdeNo
注意:-当您在linux shell中测试shell脚本时,它将以登录用户权限执行,但当您通过web运行它时,它将以apache用户权限运行,因此apache应具有执行该脚本的权限…可能是您的脚本没有执行权限:-
1) 向您的sctipt授予执行权限:-
linux_shell>chmod+x/var/www/createslides/gen json data/delete-slide.sh
或
2) 使用“sh”运行脚本:-
$c='sh/var/www/createslides/gen json data/delete slide.sh'.$prtId'.$utNo'.$sdeNo
注意:-当您在linux shell中测试shell脚本时,它将以登录用户权限执行,但当您通过web运行它时,它将以apache用户权限运行,因此apache应具有执行该脚本的权限…可能是您的脚本没有执行权限:-
1) 向您的sctipt授予执行权限:-
linux_shell>chmod+x/var/www/createslides/gen json data/delete-slide.sh
或
2) 使用“sh”运行脚本:-
$c='sh/var/www/createslides/gen json data/delete slide.sh'.$prtId'.$utNo'.$sdeNo
注意:-当您在linux shell中测试shell脚本时,它将以登录用户权限执行,但当您通过web运行它时,它将以apache用户权限运行,因此apache应该有权限执行该脚本…权限设置正确吗?如果手动运行脚本,它是否有效?Apache(或您正在使用的任何东西)用户是否具有运行脚本的权限?@Spokey是如果我使用正确运行的参数手动运行脚本,则权限设置是否正确?如果手动运行脚本,它是否有效?Apache(或您正在使用的任何东西)用户是否具有运行脚本的权限?@Spokey是如果我使用正确运行的参数手动运行脚本,则权限设置是否正确?如果手动运行脚本,它是否有效?Apache(或您正在使用的任何东西)用户是否具有运行脚本的权限?@Spokey是如果我使用正确运行的参数手动运行脚本,则权限设置是否正确?如果手动运行脚本,它是否有效?Apache(或您正在使用的任何东西)用户是否具有运行脚本的权限?@Spokey是,如果我使用脚本正常运行的参数手动运行脚本。