pcntl_exec
PHP Manual
PHP Manual»PCNTL 関数»pcntl_exec

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pcntl_exec — 現在のプロセス空間で指定したプログラムを実行する

説明

function pcntl_exec(string $path, array $args = [], array $env_vars = []): false

指定した引数でプログラムを実行します。

パラメータ

path

path は、バイナリ実行ファイルへのパスか、 あるいは有効な実行ファイルを指す shebang (例: #!/usr/local/bin/perl) が一行目に存在するスクリプトへのパスである必要があります。 詳細な情報については、システムの man ページで execve(2) を参照ください。

args

args は、プログラムに渡す引数文字列の配列です。

env_vars

env_vars は、プログラムに渡す環境変数の配列です。 この配列は name => value のような形式で、key が環境変数名・value が その値となります。

戻り値

失敗した場合に false を返します。 成功した場合は、現在のプロセスイメージが、実行するプログラムで置き換えられるため、 この関数から処理が戻ることはありません。

エラー / 例外

PHP 8.5.0 以降では、args のいずれかの要素にヌルバイトが含まれている場合、 あるいは env_vars のいずれかの要素またはキーにヌルバイトが含まれている場合に、 ValueError がスローされます。

変更履歴

バージョン 説明
8.5.0 args のいずれかの要素にヌルバイトが含まれている場合、 あるいは env_vars のいずれかの要素またはキーにヌルバイトが含まれている場合に、 ValueError がスローされるようになりました。

参考

  • pcntl_fork() - 現在実行中のプロセスをフォークする
  • pcntl_waitpid() - 待つかフォークした子プロセスのステータスを返す
  • exec() - 外部プログラムを実行する
  • proc_open() - コマンドを実行し、入出力用にファイルポインタを開く
To Top