0

我正在使用 jQuery 执行 AJAX 请求,如下所示:

$.get({
          url: 'run_program.php',
          data: 'action=run&number=' + $('#number').val(),
          success: function (j) {
            alert(j);
          }

runprogram.php 是这样的:

<?php
if(isset($_GET['action']) && !empty($_GET['action'])) {
    run($_GET['number']);
}

function run($number) {
    echo shell_exec('program.exe $number');
}
?>

我从服务器得到的响应总是0。顺便说一下,我是在本地运行的,所以没有安全问题。该程序被简单地编码为对作为输入传入的数字进行平方。它在 cmd 中运行良好。当我回显 $number 时,它正确地给出了我使用 jQuery 传入的值。我的代码有什么问题?

4

1 回答 1

1

问题是你的线

echo shell_exec('program.exe $number'); 

因为这实际上将调用带有“$number”作为文本作为值的program.exe。您需要使用双引号,例如

echo shell_exec("program.exe $number"); 
于 2012-07-03T09:47:50.477 回答