#!/usr/bin/env php . * * @package LibreNMS * @link http://librenms.org * @copyright 2017 Tony Murray * @author Tony Murray */ $install_dir = realpath(__DIR__ . '/..'); chdir($install_dir); // Set up proxy if needed $proxy = getenv("HTTP_PROXY") ?: getenv("http_proxy"); if (!$proxy && $proxy = rtrim(shell_exec('git config --global --get http.proxy'))) { // Use git http.proxy if available putenv("HTTP_PROXY=$proxy"); } $exec = false; $path_exec = shell_exec("which composer 2> /dev/null"); if (!empty($path_exec)) { $exec = trim($path_exec); } elseif (is_file($install_dir . '/composer.phar')) { $exec = 'php ' . $install_dir . '/composer.phar'; } else { if ($proxy) { $stream_default_opts = array( 'http' => array( 'proxy' => str_replace('http://', 'tcp://', $proxy), 'request_fulluri' => true, ) ); stream_context_set_default($stream_default_opts); } // Download composer.phar (code from the composer web site) $sha = trim(file_get_contents('http://composer.github.io/installer.sig')); @copy('http://getcomposer.org/installer', 'composer-setup.php'); if (@hash_file('SHA384', 'composer-setup.php') === $sha) { // Installer verified shell_exec('php composer-setup.php'); $exec = 'php ' . $install_dir . '/composer.phar'; } @unlink('composer-setup.php'); } if ($exec) { passthru("$exec " . implode(' ', array_splice($argv, 1)) . ' 2>&1'); } else { echo "Composer not available, please manually install composer.\n"; }