Пролог запроса с переполнением стека

Я пытаюсь сделать игру судоку с PHP и прологом, идея в том, чтобы использовать программу пролог для решения судоку, а затем получить результаты через PHP, я записал этот код, но я получаю пустой вывод
Я даже пытаюсь использовать var_dump проверить, и я получаю string '' (length=0)
вот мой код:

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Soduku</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="content">
<?php

$output=exec("\"c:/Program Files (x86)/swipl/bin/swipl-win.exe\" -g \"test,halt\" -t \"halt(1)\" test.pl ");
var_dump($output);
echo $output;
echo"<pre>";
print_r($output);
echo"</pre>";

?></div>
</body>
</html>

мой код после издания

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Soduku</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="content">
<?php

exec('"c:\\Program Files (x86)\\swipl\\bin\\swipl-win.exe" -g "st,halt" -t "halt(1)"  -s test.pl',$output,$return_var);
var_dump($output);
echo $return_var;?></div>
</body>
</html>

это отображает этот результат

array (size=0)
empty
0

1

Решение

У меня есть finnaly узнать, как это сделать, и это было слишком просто, я просто должен был извинить swipl.exe вместо swipl-win.exe, правильный синтаксис

$cmd='"c:/Program Files (x86)/swipl/bin/swipl.exe" -g solve_problems,halt -t halt(1) sud.pl' ;
1

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

доктор Говорит, что exec возвращает последнюю строку, и у вас, вероятно, есть пустая строка в качестве последней строки. Чтобы получить полный вывод, используйте второй параметр следующим образом:

exec("\"c:/Program Files (x86)/swipl/bin/swipl-win.exe\" -g \"test,halt\" -t \"halt(1)\" test.pl ", $output);
var_dump($output);
0

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