Php exec () возвращаемое значение 1073740791 - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь запустить файл .exe с помощью exec () в php, получить вывод stdout и затем использовать его в php. Проблема в том, что я не получаю выходных данных, поскольку $ строк возвращено, а возвращаемое значение в виде $ return -1073740791. Я не мог найти решение.

Код:

  <?php
            if (isset($_GET["query"]) && isset($_GET["number"])) {
                $file = 'src\\infix_to_postfix_and_evaluate.exe';
                $input = $_GET["number"] . ' "' . $_GET["query"] . '"';

                if (file_exists($file)) {
                    echo "<p>file " . $file . " exists</p>";
                } else {
                    echo "<p>file " . $file . " does NOT exists</p>";
                }

                $return = 5;
                $toexec = $file . " " . $input;

                exec($toexec, $lines, $return);
                //$lines = system($toexec, $return);
                var_dump($toexec);
                echo "<br>";
                var_dump($lines);
                echo "<br>";
                var_dump($return);
                echo "<br>";

                foreach ($lines as $item) {
                    echo '<a href="./data/doc' . $item . '.txt">' . 'doc' . $item . '.txt' . "</a><br>";
                    echo "<br>";
                }
            } else {
                echo "<p>its working but sadly not now (=_=)</p>";
            }
            ?>

Вывод на странице в обозревателе:

file src\infix_to_postfix_and_evaluate.exe exists
string(54) "src\infix_to_postfix_and_evaluate.exe 10 "cat AND dog"" 
array(0) { } 
int(-1073740791) 

Я сделал "Hello World" test.exe, и если я изменю эту строку:

$file = 'src\\test.exe';

Вывод:

file src\test.exe exists
string(29) "src\test.exe 10 "cat AND dog"" 
array(1) { [0]=> string(13) "Hello, World!" } 
int(0) 
docHello, World!.txt

Так что text.exe работает.

Это странно, когда я запускаю свою программу из терминала из других мест. Из src это работает, а из родительской папки - нет. изображение терминала

Помогите мне, пожалуйста! Я на Windows, используя XAMPP с Apache.

PS: Это мой первый вопрос, извините за английский.

...