invoking swi-prolog from php

大憨熊 提交于 2019-12-11 02:06:02

问题


I am trying to invoke swi-prolog from within a php script like :

exec("start plwin.exe -f C:\\path\\load.pl -g run_from_file.", $os1);
print_r($os1);

I can see that prolog window gets opened and complies the file, but immediately exits displaying an exit status as 1. I am sure that it is not executing the predicate I want to to execute.

Is there any other to invoke prolog with appropriate parameters and keep the window open without automatically exiting?

UPDATE : I configured the system env variables to the path where prolog is installed.


回答1:


This link seems to have some helpful information about different ways that this can be done.

http://www.j-paine.org/dobbs/prolog_from_php.html




回答2:


I have also used the tutorial from http://www.j-paine.org/dobbs/prolog_from_php.html , and it was giving me a blank screen. To run prolog file on a server where swipl is used, I changed to:

$cmd = swipl -f /path/to/myfile.pl -g test,halt -t 'halt(1)';

I found all needed information here: http://www.swi-prolog.org/pldoc/man?section=cmdline , in section 2.4.4

The rest of the php file is the same as in the example, and now it really executes test from myfile.pl.

Maybe his can help somebody.



来源:https://stackoverflow.com/questions/3056659/invoking-swi-prolog-from-php

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!