如何从我的php脚本向我的可执行文件发送参数?

时间:2017-03-21 21:38:59

标签: c# php arguments exe executable

我正在使用php构建一个网站。我需要将一个变量发送到php站点的命令行可执行文件,运行可执行文件,然后读取响应。

我相信我没有正确地将参数发送给可执行文件。

我的PHP代码:

using System;

namespace PHP_Test
{
    class Hello
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Please enter a numeric argument.");
            }
            else
            {
                Console.WriteLine("Hello World!");

            }
        }
    }
}

我的c#可执行代码

for (var i = 0; i < statusAll.length; i++) {
  cont.append(rows);
  $('.row:nth-last-child(1) .col-md-4').append('<img class="img-responsive img-circle" src="' + statusAll[i].stream.logo + '">');
  $('.row:nth-last-child(1) .col-md-8').append('<p>' + statusAll[i].stream.display_name + '</p>');
}

如您所见,我的可执行文件目前只是设置为根据是否提供参数提供响应。当我没有从php发送参数时,我得到正确的响应(&#34;请输入数字参数。&#34;)。但是,每当我试图提出一个论点时,我都没有得到任何反馈,这让我相信我做错了。

感谢您的任何帮助。

2 个答案:

答案 0 :(得分:0)

如果单引号变量未被其值替换,则应使用双引号:

编辑:并在命令末尾添加2>&1以获取STDERR

$answer = shell_exec("D:\WebPages\PHP_Test.exe $a 2>&1");

答案 1 :(得分:0)

我找到了问题的部分答案。当包含执行文件的路径时,由于某种原因它不会让我发布任何参数。我将执行文件放在目录文件夹中并调用它,没有任何路径通向可执行文件,然后允许参数。