2

これが可能なシナリオであるかどうかを確認しています-

私のphpページはプロローグを呼び出し(そしてデータでクエリを送信します)、プロローグコードが実行され、特定の(出力)変数がバインドされます。次に、これらの変数を取得してmysql dbにロードします。

つまり、

PHP -> データを呼び出して送信 -> Prolog -> ゴールを実行し、出力変数をバインド -> 出力変数を mysql db に送信

sicstus や swi などを使用して html ページを「生成」する方法に関する多くのドキュメントを見てきましたが、これは私が達成したいことの逆です。ポインタはありますか?

ありがとう!

4

3 に答える 3

2

PHP を Prolog に接続する必要があった以前のプロジェクトでの経験に基づいて、php exec 関数を使用して PHP から Prolog を呼び出しました。

exec("\"c:/program files/swipl/bin/swipl.exe\"" -f prolog_filename.pl -g your_query)

exec 関数は Prolog の出力を返します。この出力は、好きなように変更できます (たとえば、mysql db に送信します)。

それに応じてプロローグ パスを編集する必要がある場合があります。

于 2012-10-20T08:43:51.080 に答える
0

あなたが考えていることをすることは間違いなく可能です。例えば

http://www.swi-prolog.org/pldoc/package/odbc.html

PrologからMySQLデータベースを操作できるようになります。しかし、私はあなたのPrologプログラムの出力をphpに送り返し、それをphp側からmysqlに挿入することで、あなたの生活がずっと楽になると確信しています。

于 2012-10-18T20:49:45.600 に答える
0

Web サーバーからの SWI-Prolog の呼び出しは、J.Paine の説明のように行うことができますがサーバー側で SWI-Prolog を実行する方法としては、Web サーバーとして使用することをお勧めします。

これは、SWI-Prolog が提供する豊富なライブラリを使用してロジックをデバッグし、フォーマットされた出力を取得するのが簡単だからです。

PHP 拡張モジュールを作成する可能性は常にあります。基盤となる言語は同じ C ですが、これは明らかに難しい道です。

于 2012-10-19T06:52:37.070 に答える