Я пытаюсь связаться с шахматным движком Stockfish из PHP-скрипта.Для этого я использую протокол UCI , поэтому мне нужно будет посылать команды построчно.Например, это то, что я обычно вводил бы в командной строке Windows:
Stockfish.exe
position startpos
go depth 16
Stockfish.exe - это 64-битная версия шахматного движка Stockfish
Я не смог сделать это, используя exec()
.Вот как я пытался это сделать:
exec("stockfish.exe\nposition startpos\ngo depth 16");
Двигатель работает, но команды не выполняются, поэтому я получаю:
Stockfish 10 64 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
, где я должен получитьчто-то вроде:
info depth 1 seldepth 1 multipv 1 score cp 116 nodes 20 nps 10000 tbhits 0 time 2 pv e2e4
info depth 2 seldepth 2 multipv 1 score cp 112 nodes 54 nps 27000 tbhits 0 time 2 pv e2e4 b7b6
info depth 3 seldepth 3 multipv 1 score cp 148 nodes 136 nps 45333 tbhits 0 time 3 pv d2d4 d7d6 e2e4
info depth 4 seldepth 4 multipv 1 score cp 137 nodes 247 nps 61750 tbhits 0 time 4 pv d2d4 e7e6 e2e4 c7c6
bestmove d2d4 ponder e7e6
Я прочитал много тем по связанным вопросам, но не смог найти обходной путь.Есть ли способ сделать это?