この拡張モジュールは、情報取得用の Z39.50 プロトコルを実装する YAZ ツールキットへの PHP インターフェースを 提供するものです。この拡張モジュールにより、Z39.50 ターゲット(サーバ) を並列に検索またはスキャンする Z39.50 オリジン(クライアント)を 容易に実装することが可能になります。
このモジュールは Z39.50 の複雑さを隠蔽するため、使用法がかなり容易に なります。PHP で利用可能な様々な RDB の API により提供されているものに 非常によく似た、ステートレスな持続的接続がサポートされています。 これは、セッションはステートレスですが、ユーザ間で共有されるということを 意味します。これにより多くの場合に接続および初期化手順が保存されます。
YAZ は、http://www.indexdata.dk/yaz/ で取得可能です。この拡張モジュールに 関する新しい情報、スクリプトの例等を http://www.indexdata.dk/phpyaz/ にて 参照可能です。
注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.
YAZ (ANSI/NISO Z39.50 サポート) を取得し、インストールしてください。 YAZ archive から、ソース形式あるいは さまざまな形式のビルド済みパッケージで YAZ が取得可能です。 Debian GNU/Linux、Suse Linux、FreeBSD のようなシステムでは、 ディストリビューションの一部として YAZ が組み込まれています。
PHP 4 シリーズでは、YAZ 拡張モジュールがバンドルされています(しかし、 YAZ 自体はバンドルされていません)。 オプション --with-yaz[=DIR] を 指定し、他の任意のモジュールとあわせて PHP をコンパイルしてください。
PHP 5 では YAZ 拡張モジュールは PECL にあり、共有オブジェクト/dll としてインストールされます。 もし pear がインストールされている場合、YAZ 拡張モジュールを ダウンロードして設定・インストールをする最も簡単な方法は pear コマンドを使用することです。
Windows では、php_yaz.dll は yaz.dll に依存しています。 yaz.dll は、PHP サイトにある Win32 zip アーカイブに 含まれています。また、YAZ WIN32 area にある Windows 版の YAZ の中にも含まれています。
警告 |
PHP 5.0.5 の Win32 zip アーカイブに含まれている yaz.dll はバージョンが古すぎます (バージョン 1.9.1 < 要求されるバージョン 2.0.13)。 そのため、YAZ WIN32 インストール から得られる新しいバージョンの yaz.dll を使用してください。 |
Windows では、システムが yaz.dll ファイルを 見つけられるよう、PHP のディレクトリを PATH に追加することを 忘れないでください。
YAZ を共有モジュールとして使用する場合、Unix では php.ini の以下の行を 追加(あるいはコメント解除)してください。
extension=php_yaz.so |
extension=php_yaz.dll |
注意: 上で挙げた問題については、YAZ のバージョン 2.0 で解消されています。
php.ini の設定により動作が変化します。
表 1. YAZ 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
yaz.max_links | "100" | PHP_INI_ALL | PHP 4.3.0 以降で使用可能です。 |
yaz.log_file | NULL | PHP_INI_ALL | PHP 4.3.0 以降で使用可能です。 |
リソース型は定義されていません。
定数は定義されていません。
PHP/YAZ はターゲット(Z-Associations)との接続を保持し続けます。 正の整数で特定の接続のIDを表します。
以下のスクリプトは、API の並列検索機能のデモです。引数を指定せずに コールした場合、この関数はクエリフォームを出力します。そうでない場合 (引数を指定した場合)は、配列 host にあるターゲットを 検索します。