Как отправить аргумент в мой исполняемый файл из моего сценария php?

Я строю веб-сайт с использованием php. Мне нужно отправить переменную в исполняемый файл командной строки с сайта php, запустить исполняемый файл, а затем прочитать ответ.

Я полагаю, что неправильно отправляю аргумент в исполняемый файл.

Мой php код:

<?php
$a=escapeshellarg('6');
//set $c [lindex $argv 0];
$answer = shell_exec("D:/WebPages/Test/PHP_Test.exe $a");
echo $answer;
?>

Мой c # исполняемый код

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!");

}
}
}
}

Как вы можете видеть, мой исполняемый файл в настоящее время просто настроен для предоставления ответа в зависимости от того, был ли указан аргумент или нет. Когда я не отправляю аргумент из php, я получаю правильный ответ («Пожалуйста, введите числовой аргумент»). Однако всякий раз, когда я пытаюсь представить аргумент, я не получаю никакой обратной связи, что наводит меня на мысль, что я делаю это неправильно.

Спасибо за любую помощь, спасибо.

0

Решение

Я нашел часть ответа на мой вопрос. При включении пути к исполняемому файлу по какой-то причине он не позволял мне публиковать какие-либо аргументы. Я поместил свой исполняемый файл в папку каталога и назвал его без указания пути к исполняемому файлу, а затем он разрешил аргументы.

0

Другие решения

С одинарными кавычками переменная не заменяется ее значениями, следует использовать двойные кавычки:

редактировать: и добавить 2>&1 в конце команды, чтобы получить также STDERR

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

По вопросам рекламы [email protected]