4 ini_set("display_errors", 0);
5 ini_set("log_errors", 1);
9 function check(&$procs) {
10 foreach ($procs as $dir => list($prc, $fds, $pkg, $src, $dst)) {
11 $status = proc_get_status($prc);
12 if (!$status["running"]) {
13 array_map("fclose", $fds);
15 if ($status["exitcode"] ||
!is_file("$dst/$dir.ext.phar")) {
18 printf("%s\t%s.ext.phar\n", $pkg, $dir);
20 system("rm -r $src.tgz $src");
27 while (!feof(STDIN
)) {
28 if (strlen($line = rtrim(fgets(STDIN
)))) {
29 if (list($pkg, $dir) = explode("\t", $line)) {
30 $src = __DIR__
."/../build/$dir";
31 $dst = __DIR__
."/../public/phars/$pkg";
33 if (!is_dir($dst) && !mkdir($dst, 0777, true)) {
37 $prc = proc_open(__DIR__
."/../vendor/bin/pharext -qps $src -zZd $dst 2>&1", [
41 $procs[$dir] = [$prc, $fds, $pkg, $src, $dst];
47 while (check($procs)) {