首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP文件连接Prolog文件

用PHP文件连接Prolog文件
EN

Stack Overflow用户
提问于 2011-02-23 18:56:06
回答 2查看 1.2K关注 0票数 1

我有一个Prolog代码data.pl,我需要在PHP文件中使用它。通过我在互联网上的搜索,我发现了这个:

代码语言:javascript
复制
exec('start <path/to/prolog> -f data.pl -g elem(a,[a,b])', $output)

我已经用Shell-exec()system()命令尝试过了,但它们也不起作用。我还尝试更正目录路径,并将data.pl移动到path/to/prolog文件夹,但仍然没有结果。有人能在这个问题上帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2011-02-23 20:08:18

将web应用程序与Prolog应用程序集成的更好方法是使用SWI的内置HTTP服务器。它将使您不必加载Prolog并在每次调用时解析输入文件。它还提供了更像web的集成,因为您可以使用AJAX和类似的方法。

如果您坚持从PHP运行时环境调用Prolog可执行文件本身,则必须提供更多细节。您的PHP日志中会出现哪些错误?你检查过文件权限了吗?你有没有尝试给出Prolog可执行文件和数据文件的完整路径?只是说“它不工作”是一种声明,而不是一个问题。

最后,为了提高效率,建议将Prolog数据文件编译为快速加载格式(QLF),而不是在每次请求时重新解析它。

票数 0
EN

Stack Overflow用户

发布于 2011-02-23 21:37:18

使用'start‘命令将强制程序在新的会话中运行,并且IO管道不会被激活。我的DOS体验有点生疏--但在这句话中,有很多东西会被解释为Unix机器上的shell metachar。假设Prolog解释器使用STDIO,则命令应为:

代码语言:javascript
复制
  $cmd='C:\\Program Files\\pl\\bin\\plwin -f data.pl -g elem(a,[a,b])';
  // $cmd=escapeshellcmd($cmd); // in case you're still having problems
  exec($cmd, $output);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5089928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档