public function install($name) {
if (array_key_exists($name, $this->extensions)) {
$extension = $this->extensions[$name];
echo "== extension: {$name} ==\n";
foreach ($extension['php_version'] as $version) {
if (!version_compare($this->phpVersion, $version[1], $version[0])) {
printf("=> not installed, requires a PHP version %s %s (%s installed)\n", $version[0], $version[1], $this->phpVersion);
return;
}
}
$this
->system(sprintf("wget %s > /dev/null 2>&1", $extension['url']));
$file = basename($extension['url']);
$this
->system(sprintf("tar -xzf %s > /dev/null 2>&1", $file));
$folder = basename($file, ".tgz");
$folder = basename($folder, ".tar.gz");
$this
->system(sprintf('sh -c "cd %s && phpize && ./configure %s && make && sudo make install" > /dev/null 2>&1', $folder, implode(' ', $extension['cfg'])));
foreach ($extension['ini'] as $ini) {
$this
->system(sprintf("echo %s >> %s", $ini, $this->iniPath));
}
printf("=> installed (%s)\n", $folder);
}
}