私が書いたラッパークラスを使用してサードパーティのスクリプトを実行しています。これはshell_exec()
、後でphpコードを使用して解析するファイルを呼び出してパイプします。これは機能していることに言及する必要がありますが、考えもしなかったユースケースに遭遇したため、機能を強化しようとしています。
shell_exec() でタイムアウトを管理するにはどうすればよいですか? でラップすることを考えていましたtry() catch()
が、時間コンポーネントを最適に処理する方法がわかりません。
shell_exec()
ここで andに関連するいくつかの質問を読んでいますがexec()
、出力パラメーターを渡すexec()
ことでリターンを得ることができるようですが、それはスクリプトがリターンステータスで終了することに依存しています。さらに、私のミニテストページでは、出力を返すことができないようです!
私が考えたもう1つのオプションは、モーダルダイアログを使用し、スクリプトが機能している間にajaxスタイルのスピナーを使用し、javascriptで手動タイムアウトを設定することでした。次に、失敗/タイムアウトおよび終了に関するモデルダイアログメッセージをユーザーに提供しました。
このユースケースで受け入れられている方法はありますか?
私のミニテストは、次のもので構成されていました。
public $e_return = array();
public $e_status = '';
// Paths are absolute from /
public function execCheck($domain){
exec($this->ssl_check_path." -s ".$domain." -p 443 > ".$this->folder.$this->filename." 2>&1 &", &$this->e_return, &$this->e_status);
}
// Returns
Array
(
)
0
この質問を参照として使用 すると、 PHP exec を使用して PHP スクリプトを実行できません