FAM はファイルやディレクトリを監視し、変更点を調査を行うアプリケーションに 通知します。FAM についての詳細な情報は http://oss.sgi.com/projects/fam/ で得られます。
PHP スクリプトは、この拡張モジュールにより提供される関数を用いて FAM に一連の ファイルを指定することができます。
FAM プロセスは、最初にアプリケーションから接続された時に開始され、 全ての接続がクローズされた時に終了します。
注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.1.0.
注意: この拡張モジュールは Windows 環境では利用できません。
PHP の FAM サポートを使用するには、--with-fam[=DIR]
を指定して PHP をコンパイルする
必要があります。DIR は lib および include ディレクトリを含む
ディレクトリの場所です。
設定ディレクティブは定義されていません。
FAM モジュールでは二種類のリソース型を使用します。まず最初が FAM サービスとの接続を表すリソースで、これは fam_open() が返します。二番目はモニタリングリソースで、これは fam_monitor_XXX 関数が返します。
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
表 1. FAM イベント定数
定数 | 説明 |
---|---|
FAMChanged (integer) | ファイルあるいはディレクトリの、fstat(1) で取得できる値のうちの 何かが変更されました。 |
FAMDeleted (integer) | ファイルあるいはディレクトリが削除あるいはリネームされました。 |
FAMStartExecuting (integer) | 実行可能ファイルが実行されました。 |
FAMStopExecuting (integer) | 実行可能ファイルの実行が終了しました。 |
FAMCreated (integer) | ディレクトリ内にファイルが作成されました。 |
FAMMoved (integer) | このイベントは決して発生しません。 |
FAMAcknowledge (integer) | fam_cancel_monitor() に対する応答イベントです。 |
FAMExists (integer) | ファイルやディレクトリの監視を要求するイベントです。 ディレクトリが監視されている場合、ディレクトリおよびその中に 含まれるすべてのファイルについてのイベントが発生します。 |
FAMEndExist (integer) | 最後の FAMEExists イベントの後に発生します。 |