#!/usr/bin/env php
<?php

define('LARAVEL_START', microtime(true));

require_once __DIR__ . '/detached.php';

/*
|--------------------------------------------------------------------------
| Early memory limit checks.
|--------------------------------------------------------------------------
|
| We will check the memory limit before the autoloader is included to prevent any
| ghost errors thrown before installation or while using the application
| as in most cases if the memory limit is 32MB, will fail.
|
| There are hosting providers who have different memory limit for cli and fpm
| in some cases, the memory limit for cli may be low and cause the execution to fail.
|
*/
DetachedHelper::raiseMemoryLimit('256M');

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the
| loading of any our classes "manually". Feels great to relax.
|
*/

require __DIR__ . '/vendor/autoload.php';

$app = require_once __DIR__ . '/bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Artisan Application
|--------------------------------------------------------------------------
|
| When we run the console application, the current CLI command will be
| executed in this console and the response sent back to a terminal
| or another output device for the developers. Here goes nothing!
|
*/

$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);

$status = $kernel->handle(
    $input = new Symfony\Component\Console\Input\ArgvInput,
    new Symfony\Component\Console\Output\ConsoleOutput
);

/*
|--------------------------------------------------------------------------
| Shutdown The Application
|--------------------------------------------------------------------------
|
| Once Artisan has finished running, we will fire off the shutdown events
| so that any final work may be done by the application before we shut
| down the process. This is the last thing to happen to the request.
|
*/

$kernel->terminate($input, $status);

exit($status);