PHP exec()错误输出

时间:2012-07-03 09:44:48

标签: php

我正在使用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传递的值。我的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

问题在于您的行

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

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

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