diff options
| author | marwolaethblack <a.unal677@gmail.com> | 2017-11-22 12:37:48 +0100 | 
|---|---|---|
| committer | marwolaethblack <a.unal677@gmail.com> | 2017-11-22 12:37:48 +0100 | 
| commit | 4312b353dbb4b448d551975b63db9c95b3eef4f5 (patch) | |
| tree | 90c991bc462526725593f82e56b288cfce2c7e03 /bin | |
initial commit
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/console | 27 | ||||
| -rwxr-xr-x | bin/symfony_requirements | 146 | 
2 files changed, 173 insertions, 0 deletions
| diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..0629023 --- /dev/null +++ b/bin/console @@ -0,0 +1,27 @@ +#!/usr/bin/env php +<?php + +use Symfony\Bundle\FrameworkBundle\Console\Application; +use Symfony\Component\Console\Input\ArgvInput; +use Symfony\Component\Debug\Debug; + +// if you don't want to setup permissions the proper way, just uncomment the following PHP line +// read https://symfony.com/doc/current/setup.html#checking-symfony-application-configuration-and-setup +// for more information +//umask(0000); + +set_time_limit(0); + +require __DIR__.'/../vendor/autoload.php'; + +$input = new ArgvInput(); +$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev'); +$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod'; + +if ($debug) { +    Debug::enable(); +} + +$kernel = new AppKernel($env, $debug); +$application = new Application($kernel); +$application->run($input); diff --git a/bin/symfony_requirements b/bin/symfony_requirements new file mode 100755 index 0000000..a7bf65a --- /dev/null +++ b/bin/symfony_requirements @@ -0,0 +1,146 @@ +#!/usr/bin/env php +<?php + +require_once dirname(__FILE__).'/../var/SymfonyRequirements.php'; + +$lineSize = 70; +$symfonyRequirements = new SymfonyRequirements(); +$iniPath = $symfonyRequirements->getPhpIniConfigPath(); + +echo_title('Symfony Requirements Checker'); + +echo '> PHP is using the following php.ini file:'.PHP_EOL; +if ($iniPath) { +    echo_style('green', '  '.$iniPath); +} else { +    echo_style('yellow', '  WARNING: No configuration file (php.ini) used by PHP!'); +} + +echo PHP_EOL.PHP_EOL; + +echo '> Checking Symfony requirements:'.PHP_EOL.'  '; + +$messages = array(); +foreach ($symfonyRequirements->getRequirements() as $req) { +    if ($helpText = get_error_message($req, $lineSize)) { +        echo_style('red', 'E'); +        $messages['error'][] = $helpText; +    } else { +        echo_style('green', '.'); +    } +} + +$checkPassed = empty($messages['error']); + +foreach ($symfonyRequirements->getRecommendations() as $req) { +    if ($helpText = get_error_message($req, $lineSize)) { +        echo_style('yellow', 'W'); +        $messages['warning'][] = $helpText; +    } else { +        echo_style('green', '.'); +    } +} + +if ($checkPassed) { +    echo_block('success', 'OK', 'Your system is ready to run Symfony projects'); +} else { +    echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects'); + +    echo_title('Fix the following mandatory requirements', 'red'); + +    foreach ($messages['error'] as $helpText) { +        echo ' * '.$helpText.PHP_EOL; +    } +} + +if (!empty($messages['warning'])) { +    echo_title('Optional recommendations to improve your setup', 'yellow'); + +    foreach ($messages['warning'] as $helpText) { +        echo ' * '.$helpText.PHP_EOL; +    } +} + +echo PHP_EOL; +echo_style('title', 'Note'); +echo '  The command console could use a different php.ini file'.PHP_EOL; +echo_style('title', '~~~~'); +echo '  than the one used with your web server. To be on the'.PHP_EOL; +echo '      safe side, please check the requirements from your web'.PHP_EOL; +echo '      server using the '; +echo_style('yellow', 'web/config.php'); +echo ' script.'.PHP_EOL; +echo PHP_EOL; + +exit($checkPassed ? 0 : 1); + +function get_error_message(Requirement $requirement, $lineSize) +{ +    if ($requirement->isFulfilled()) { +        return; +    } + +    $errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.'   ').PHP_EOL; +    $errorMessage .= '   > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.'   > ').PHP_EOL; + +    return $errorMessage; +} + +function echo_title($title, $style = null) +{ +    $style = $style ?: 'title'; + +    echo PHP_EOL; +    echo_style($style, $title.PHP_EOL); +    echo_style($style, str_repeat('~', strlen($title)).PHP_EOL); +    echo PHP_EOL; +} + +function echo_style($style, $message) +{ +    // ANSI color codes +    $styles = array( +        'reset' => "\033[0m", +        'red' => "\033[31m", +        'green' => "\033[32m", +        'yellow' => "\033[33m", +        'error' => "\033[37;41m", +        'success' => "\033[37;42m", +        'title' => "\033[34m", +    ); +    $supports = has_color_support(); + +    echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : ''); +} + +function echo_block($style, $title, $message) +{ +    $message = ' '.trim($message).' '; +    $width = strlen($message); + +    echo PHP_EOL.PHP_EOL; + +    echo_style($style, str_repeat(' ', $width)); +    echo PHP_EOL; +    echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT)); +    echo PHP_EOL; +    echo_style($style, $message); +    echo PHP_EOL; +    echo_style($style, str_repeat(' ', $width)); +    echo PHP_EOL; +} + +function has_color_support() +{ +    static $support; + +    if (null === $support) { +        if (DIRECTORY_SEPARATOR == '\\') { +            $support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI'); +        } else { +            $support = function_exists('posix_isatty') && @posix_isatty(STDOUT); +        } +    } + +    return $support; +} |