单击浏览器中的按钮后,无法通过PHP在服务器上执行bash脚本

时间:2019-02-25 00:25:52

标签: php ajax bash button

我正在尝试创建一个网页,单击该按钮后将在服务器端执行bash脚本。我究竟做错了什么?看来我的shell脚本由于某种原因而没有运行...但是,如果我只是执行

php test.php
在服务器端执行

命令,脚本成功运行...如果有人帮助我弄清楚我的错误是什么,将不胜感激。 我已经浏览过类似的问题,但仍然无法正常工作。

index.php中负责按钮的部分:

<button type="button">Click Me</button>

<script>
$(document).ready(function() {
$("button").click(function(){
  $.ajax({
    url:"test.php", //the page containing php script
    type: "POST", //request type
    success:function(result){
    alert(result);
    }
  });
});
})
</script>

test.php:

<?php
shell_exec("/var/www/html/tester.sh");
?>

tester.sh:

#!/bin/bash

#here something will happen

touch /tmp/testfile

1 个答案:

答案 0 :(得分:-2)

您忘记了“;”在您的js的最后一行

class NewMove{

constructor(){
    this.inicializar = this.inicializar.bind(this)
    this.test = this.test.bind(this)
    this.inicializar()
}

inicializar(){
    this.allPieces = []
    this.pieceElementToMove
    this.agregarEventosClickPieces()
}

test(){
    console.log("al fin!")
}

agregarEventosClickPieces(pieces){
    for (let i = 0 ; i < this.pieces.length; i++) {
      document.getElementById(this.pieces[i].id).addEventListener('click', this.move, false ) 
    }
    this.test()
}

move(event){
    this.test.bind(this)
}