}
}
+function info($pkg, $dir) {
+ $pkg = strtolower($pkg);
+ $inf = file_get_contents("https://pecl.php.net/rest/p/$pkg/info.xml");
+ if ($inf) {
+ file_put_contents("$dir/info.xml", $inf);
+ }
+}
+
function wait(&$pids) {
$status = null;
switch ($pid = pcntl_wait($status)) {
]);
};
-if (($sxe = simplexml_load_file("http://pecl.php.net/feeds/$what.rss"))) {
+if (($sxe = simplexml_load_file("https://pecl.php.net/feeds/$what.rss"))) {
foreach ($sxe->item as $item) {
- $url = (string) $item->link;
- $pkg = basename(dirname($url));
- $ver = basename($url);
+ list($pkg, $ver) = explode(" ", (string) $item->title);
+ $url = sprintf("https://pecl.php.net/get/%s/%s", $pkg, $ver);
$skp = sprintf("%s/../skip/%s/%s", __DIR__, $pkg, $ver);
$ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver);
$dir = dirname($ext);
exit;
case 0:
work($url, $dir);
+ info($pkg, $dir);
exit;
default:
$pids[$pid] = compact("url", "pkg", "ver", "skp", "ext", "dir");