Skip to content
Snippets Groups Projects
Select Git revision
  • b9c2ff66c68e1d22f1616773f023db31727a1421
  • main default protected
  • ci-test
  • v0.1.4
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
8 results

console

Blame
  • console 1.26 KiB
    #!/usr/bin/env php
    <?php
    
    use App\Kernel;
    use Symfony\Bundle\FrameworkBundle\Console\Application;
    use Symfony\Component\Console\Input\ArgvInput;
    use Symfony\Component\Dotenv\Dotenv;
    use Symfony\Component\ErrorHandler\Debug;
    
    if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
        echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL;
    }
    
    set_time_limit(0);
    
    require dirname(__DIR__).'/vendor/autoload.php';
    
    if (!class_exists(Application::class) || !class_exists(Dotenv::class)) {
        throw new LogicException('You need to add "symfony/framework-bundle" and "symfony/dotenv" as Composer dependencies.');
    }
    
    $input = new ArgvInput();
    if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) {
        putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env);
    }
    
    if ($input->hasParameterOption('--no-debug', true)) {
        putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');
    }
    
    (new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
    
    if ($_SERVER['APP_DEBUG']) {
        umask(0000);
    
        if (class_exists(Debug::class)) {
            Debug::enable();
        }
    }
    
    $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
    $application = new Application($kernel);
    $application->run($input);