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 イベントの後に発生します。 |