PHP - Problema al Llamar Prolog desde Php

 
Vista:

Problema al Llamar Prolog desde Php

Publicado por Cesar F (1 intervención) el 06/09/2017 07:07:15
hola, soy nuevo en este foro y un poco con el lenguaje de programación Prolog. Actualmente estoy trabajando en un proyecto basado en un Sistema Experto con interfaz web, utilizando para ello SWI-Prolog, con base en un aporte realizado en otro foro (http://www.forosdelweb.com/f18/aporte-llamar-prolog-desde-php-tener-sistema-experto-web-1101310/) que habla sobre como hacer una consulta a SWi-Prolog a través de codigo Php. Al seguir los pasos indicados en dicho foro pude realizar con éxito el llamado de SWI-Prolog desde Php, obteniendo el mensaje correspondiente en el navegador. Al irme luego directamente a hacer la consulta al archivo .pl que había hecho para mi proyecto, no logre obtener ninguna respuesta en pantalla. En mi archivo .pl (Funciona correctamente en la consola de SWI-Prolog) hago un llamado a una base de datos externa a través del odbc_connect, de donde obtengo ciertos datos que luego procedo a mostrar en el navegador. Al hacer ciertas pruebas, pude notar que al llamar a un archivo .pl desde Php y que la consulta requiera una conexión a una base de datos externa, esta no se realizara, por ende, al no cumplir con una de las reglas de la consulta, esta no devolverá ninguna respuesta. ¿Por que ocurre eso? ¿No es posible hacer la consulta a partir de Php a SWI-Prolog y este a su vez consulte una base de datos externa?

PD: Estoy utilizando Wampserver con servidor local.

A continuación se encuentra parte del código en Php y un código Prolog de prueba, al cual hago la consulta y si la conexión es realizada con éxito mostraría el "Hola" en pantalla (al probarlo en la consola de SWI-Prolog funciona correctamente) .

Index.php
1
2
3
4
5
6
7
<?php
if(!file_exists("Prueba2.pl")) die("No se puede localizar el archivo .pl, el directorio actual es: ".__DIR__);
 
 $output = `swipl -s Prueba2.pl -g "abrir_conexion." -t halt.`;
  print_r($output);
 
?>


Prueba2.pl

1
2
3
4
5
6
7
abrir_conexion:-
    odbc_connect('MSprolog',_,
                 [user(root),
                  password(''),
                  alias(prolog),
                  open(once)]),
                  write('hola').

Espero su pronta respuesta. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder