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

я пытаюсь сделать игру судоку с php, html и прологом, идея состоит в том, чтобы использовать программу пролог для разгона судоку, а затем получить результаты через PHP, я написал этот код, следуя инструкциям онлайн, но я получаю эту ошибку

 Parse error: syntax error, unexpected 'test' (T_STRING) in C:\wamp\www\Sudoku\index.php on line 13

вот мой код:

<!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\"" -f test.pl -g test);
echo"<pre>";
print_r($output);
echo"</pre>";

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

1

Решение

Тест -f test.pl -g не является строкой.
Измените свой код на

$output=exec("\"c:/Program Files (x86)/swipl/bin/swipl-win.exe\" -f test.pl -g test");
1

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

Я не думаю, что вы должны использовать -f вариант. Это делает что-то отличное от того, что вы думаете. Попробуйте передать исходный файл Prolog в качестве последнего аргумента без каких-либо ключей, например:

$output=exec("\"c:/Program Files (x86)/swipl/bin/swipl-win.exe\" -g test test.pl");

Возможно, вы также захотите сказать Прологу немедленно прекратить делать все test/0 делает, например:

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

Я не уверен, нужно ли вам цитировать test,halt никак на винде из-за запятой или нет.

1

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