現在の位置: ホーム> 関数カテゴリ一覧> shell_exec

shell_exec

シェル環境を介してコマンドを実行し、完全な出力を文字列として返します
名前:shell_exec
カテゴリ:プログラムの実行
対応言語:php
一言説明:指定されたシェルコマンドを実行し、コマンドの出力を文字列として返します

関数名:shell_exec()

該当するバージョン:PHP 4、PHP 5、PHP 7

関数の説明:shell_exec()関数指定されたシェルコマンドを実行し、コマンドの出力を文字列として返します。 exec()関数とは異なり、shell_exec()関数は、最後の行だけでなく、コマンド出力の完全な結果を返します。

構文:shell_exec(string $ cmd):string | null

パラメーター:

  • $ cmd:必須、実行するシェルコマンド。

返品値:

  • コマンドが正常に実行された場合、コマンドによる文字列結果出力が返されます。
  • コマンドが実行に失敗するか、関数が無効になっている場合、nullが返されます。

例1:

 $output = shell_exec('ls -l'); echo "<pre>$output</pre>";

上記の例では、「LS -L」コマンドを実行し、結果を$ output変数に割り当てます。次に、 <pre>タグを使用して、ブラウザに結果を出力します。

例2:

 $output = shell_exec('php -v'); echo "<pre>$output</pre>";

上記の例は、「PHP -V」コマンドを実行し、PHPバージョン情報を表示し、結果を$ output変数に割り当てます。次に、 <pre>タグを使用して、ブラウザに結果を出力します。

注:

  1. shell_exec()関数は、シェルコマンドを実行するときにオペレーティングシステムの可用性に依存するため、異なるオペレーティングシステムで異なる結果が発生する可能性があります。
  2. セキュリティ上の理由から、shell_exec()関数は注意して使用する必要があり、信頼できるコマンドのみが実行されます。
  3. shell_exec()関数を使用する場合、php構成ファイル(disable_functions configurationアイテム)で関数が無効になっていないことを確認する必要があります。
  4. 場合によっては、「/usr/bin/ls」などのコマンドを実行するために絶対パスを使用する必要がある場合があります。
  5. コマンドがユーザー入力を必要とする場合、shell_exec()関数がシェルプロセスとの相互作用をサポートしないため、他の関数(exec()やpassthru()など)を使用します。
類似の関数
  • proc_openによって開かれたプロセスを殺します proc_terminate

    proc_terminate

    proc_openによって開かれたプロセ
  • 外部プログラムを実行し、元の出力を表示します passthru

    passthru

    外部プログラムを実行し、元の出力を表示し
  • 外部プログラムを実行し、出力を表示します system

    system

    外部プログラムを実行し、出力を表示します
  • 文字列をシェルコマンドで使用できるパラメーターにトランスコードします escapeshellarg

    escapeshellarg

    文字列をシェルコマンドで使用できるパラメ
  • proc_open()によって開かれたプロセスを閉じて、プロセスエグジットコードを返します proc_close

    proc_close

    proc_open()によって開かれたプ
  • シェルメタカラクターエスケープ escapeshellcmd

    escapeshellcmd

    シェルメタカラクターエスケープ
  • 現在のプロセスの優先順位を変更します proc_nice

    proc_nice

    現在のプロセスの優先順位を変更します
  • コマンドを実行して、入力/出力に使用されるファイルポインターを開きます proc_open

    proc_open

    コマンドを実行して、入力/出力に使用され
人気記事(にんききじ)