我正试图在php脚本中调用swi-prolog,如:
exec("start plwin.exe -f C:\\path\\load.pl -g run_from_file.", $os1);
print_r($os1);
我可以看到prolog窗口被打开并符合文件,但是立即退出显示退出状态为1.我确信它没有执行我想要执行的谓词。
是否还有其他人使用适当的参数调用prolog并保持窗口open
而不自动退出?
更新:我将系统env变量配置为安装prolog的路径。
答案 0 :(得分:0)
这个链接似乎有一些有用的信息,可以用不同的方式来完成。
答案 1 :(得分:0)
我还使用了http://www.j-paine.org/dobbs/prolog_from_php.html中的教程,它给了我一个空白的屏幕。 要在使用swipl的服务器上运行prolog文件,我更改为:
while($row = mysqli_fetch_array($result)){
if( ! isset($response[$row[1]]))
$response[$row[1]] = array('post_id'=>$row[1]);
$response[$row[1]][$row[2]] = $row[3];
}
// to make index numeric
$response = array_value($response);
我在这里找到了所有需要的信息:http://www.swi-prolog.org/pldoc/man?section=cmdline,见2.4.4节
php文件的其余部分与示例中的相同,现在它确实从myfile.pl执行测试。
也许他可以帮助别人。