1.0.0 2015-08-19 04:22 UTC

This package is not auto-updated.

Last update: 2024-05-11 16:39:50 UTC


README

Latest Stable Version Latest Stable Version Total Downloads License

Execute a command and provides a much greater degree of control over the program execution.

Requirements

  • PHP >= 5.3.0

Introduction

use composer composer.json:

"require": {
	"cloudmario/yeah": "dev-master"
}

Usage

  • Simple
$p = new Yeah("/bin/bash");
list($pid, $stdin, $stdout, $stderr) = array($p->pid(), $p->stdin(), $p->stdout(), $p->stderr());

fwrite($stdin, "echo 42.out\n");
fwrite($stdin, "echo 42.err 1>&2\n");
fclose($stdin);

echo "pid    : " . $pid."\n";
echo "stdout : " . trim(fread($stdout, 1024)) . "\n";
echo "stderr : " . trim(fread($stderr, 1024)) . "\n";
echo "status : " . trim(print_r($p->status(), true)) . "\n";
  • Block
$status = Yeah::yeah("/bin/bash", function($pid, $stdin, $stdout, $stderr) {
	
	fwrite($stdin, "echo 42.out\n");
	fwrite($stdin, "echo 42.err 1>&2\n");
	fclose($stdin);

	echo "pid    : " . $pid . "\n";
	echo "stdout : " . trim(fread($stdout, 1024)) . "\n";
	echo "stderr : " . trim(fread($stderr, 1024)) . "\n";
	
	/*
	while ( !feof($stdout) ) {
		$out .= fgets($stdout, 2048);
	}
	*/
	
});

echo "status : " . trim(print_r($status, true)) . "\n";