如何从 php 调用 shell 脚本
How to call the shell script from php
我正在尝试使用 PHP 调用 shell 脚本。
在这里,我有一个 ajax 代码,它获取下拉值并将值发送到另一个 php 页面( deleteslide.php
)。
deleteslide.php
从此页面获取值,并使用具有从主页获取的值的参数调用delete-slide.sh
脚本。
但是当我运行代码时,它不会调用脚本......
如何解决这个问题
这是我所做的:
主页(索引.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);
}
});
});
删除幻灯片.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)要么授予执行权限给你的 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 应该有权执行该脚本...
尝试添加error_reporting(-1);
可能shell_exec
被禁用。
相关文章:
- 从shell脚本中杀死Node.js程序
- 从shell脚本向js脚本传递变量
- 如何从 php 调用 shell 脚本
- 使用JavaScript调用Shell脚本以实现自动化
- PHP 无法调用 shell 脚本 (js -> php -> sh)
- 使用 node.js (子进程) 运行 shell 脚本
- 如何从 Atom 电子应用程序调用 Shell 脚本或 python 脚本
- 如何使用 shell 脚本文件运行我的节点脚本
- 监视器shell脚本's日志文件
- 当nodejs尝试执行shell脚本时会发生错误
- 如何将javascript变量值传递给生成html/javascript代码的shell脚本
- 如何从JavaScript调用shell脚本
- 如何通过javascript/jquery从网页执行shell脚本,并在字符串中获得其结果
- 在Node.js 0.10.x中调用shell脚本(包括CLI)的同步子进程
- 通过(Java脚本)接口从shell脚本控制Java实例
- Ajax太慢,无法从服务器端响应(shell脚本)
- 将用户输入从NodeJS发送到shell脚本
- 在IntelliJ IDEA中,我如何创建一个键绑定,以当前文件作为参数执行shell脚本
- Bean shell脚本检查响应A或B是否存在于jmeter中的响应文本中
- 使用nodejs执行shell脚本命令