Expect 関数
導入
この拡張モジュールは、PTY を経由したプロセス同士の対話機能を提供します。 ファイルシステム関数 で expect:// ラッパ を利用すれば、シンプルでより直感的なインターフェースが利用できるでしょう。要件
このモジュールは » expect ライブラリの 関数を使用します。libexpect バージョン >= 5.43.0 が必要です。インストール手順
この » PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/expect.PHP 4 の場合、この PECL 拡張モジュール のソースは、PHP のソースの ext/ ディレクトリ、または 上の PECL リンクで入手可能です。 これらの関数を使用するには、--with-expect[=DIR] オプションを使用して expect サポートつきで PHP をコンパイルする必要があります。
Windows ユーザは、これらの関数を使用するためには php.ini の中で php_expect.dll を有効にします。 PHP 4 の場合、この DLL は PHP の Windows ダウンロードバイナリの extensions/ ディレクトリ にあります。 この PECL 拡張モジュール の DLL を » PHP ダウンロード ページ または » http://snaps.php.net/ からダウンロードできます。
実行時設定
php.ini の設定により動作が変化します。expect 拡張モジュールを設定するために、 設定ファイル php.ini に 設定項目が用意されています。 表 87. Expect 設定オプション
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
expect.timeout | "10" | PHP_INI_ALL | |
expect.loguser | "1" | PHP_INI_ALL | |
expect.logfile | "" | PHP_INI_ALL |
PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
- expect.timeout integer
- データを待ち受ける際のタイムアウト時間です。 expect_expectl() 関数で使用されます。
"-1" を指定すると、タイムアウトを発生させないようにします。
注意: "0" を指定すると、expect_expectl() 関数は 結果を直ちに返します。 - expect.loguser boolean
- expect が、子プロセスの出力を標準出力に送るかどうかを指定します。 典型的な対話型プログラムは入力した内容を表示するので、これを使用すれば 対話の両方の側を表示することができます。
- expect.logfile string
- 子プロセスの出力内容が書き込まれるファイルの名前。もしファイルが 存在しない場合は新しく作成されます。
注意: この設置が空欄でなかった場合、 expect.loguser の設定内容に かかわらず出力が書き込まれます。
リソース型
リソース型は定義されていません。定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。- EXP_GLOB (integer)
- パターンが、glob 形式の文字列パターンであることを示します。
- EXP_EXACT (integer)
- パターンが、単なる文字列であることを示します。
- EXP_REGEXP (integer)
- パターンが、正規表現形式の文字列パターンであることを示します。
- EXP_EOF (integer)
- EOF に到達した際に expect_expectl() が返す値です。
- EXP_TIMEOUT (integer)
- expect.timeout で指定した秒数を こえた際に expect_expectl() が返す値です。
- EXP_FULLBUFFER (integer)
- 一致するパターンがなかった際に expect_expectl() が返す値です。
例
この例ではリモートホストに SSH 経由で接続し、接続先の稼働時間を表示します。例 572. Expect の使用例
<?php
ini_set ("expect.loguser", "Off");
$stream = fopen ("expect://ssh root@remotehost uptime", "r");
$cases = array (
array (0 => "password:", 1 => PASSWORD)
);
switch (expect_expectl ($stream, $cases))
{
case PASSWORD:
fwrite ($stream, "password\n");
break;
default:
die ("リモートホストへの接続時にエラーが発生しました!\n");
}
while ($line = fgets ($stream)) {
print $line;
}
fclose ($stream);
?>
目次
- expect_expectl — プロセスの出力がパターンに一致する・指定した時間が経過する・ あるいは EOF に達するのいずれかにあてはまるまで待ち続ける
- expect_popen — Bourne シェル経由でコマンドを実行し、プロセスへの PTY ストリームをオープンする
「Expect 関数」の例文・使い方・用例・文例
- その際には、この関数を使用します
- 関数が条件が真の場合にゼロの値を返す
- 小文字のゼータは数学で関数を意味する。
- このシステムは波動関数で記述することができる。
- プサイ関数
- 上記の関数とともに公式を利用すること
- このドライバーの特性は車間距離と速度の関数で表される。
- 4つのレジスタは、呼び出された関数側が保存する。
- 多くの人間にとって三角関数を学ぶことは無意味であるように思える。
- あのー、先生?黒板に書いてあるの、指数関数じゃなくて三角関数ですけど・・・。
- 【数学】 逆関数.
- その関数は連続微分可能である
- 最適化問題では、我々は最適化されるだろう最適値の関数を導き出す変数の値を求める
- インフレーションは指数関数的に上昇している
- 対数関数的方法で
- 関数または曲線の
- 導関数を計算する
- 数量または関数の逆数の、あるいは、数量または関数の逆数に関する
- 関数の微分係数を求める数学法
- 最大の関数値を見つける数学的方法
Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。
固有名詞の分類
PHP | virtual Fileinfo 関数 Expect 関数 log Newt 関数 |
- Expect 関数のページへのリンク