Skip to content
Snippets Groups Projects
spark 2.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • /**
     * This file is part of CodeIgniter 4 framework.
     *
     * (c) CodeIgniter Foundation <admin@codeigniter.com>
     *
    
     * For the full copyright and license information, please view the LICENSE file that was distributed with this source
     * code.
    
    /*
     * --------------------------------------------------------------------
    
     * CODEIGNITER COMMAND-LINE TOOLS
    
     * --------------------------------------------------------------------
     * The main entry point into the CLI system and allows you to run
     * commands and perform maintenance on your application.
    
     */
    
    /*
     *---------------------------------------------------------------
     * CHECK SERVER API
     *---------------------------------------------------------------
    
    // Refuse to run when called from php-cgi
    if (strpos(PHP_SAPI, 'cgi') === 0) {
        exit("The cli tool is not supported when running php-cgi. It needs php-cli to function!\n\n");
    }
    
    
    /*
     *---------------------------------------------------------------
     * CHECK PHP VERSION
     *---------------------------------------------------------------
     */
    
    
    $minPhpVersion = '8.3'; // If you update this, don't forget to update `public/index.php`.
    
    if (version_compare(PHP_VERSION, $minPhpVersion, '<')) {
        $message = sprintf(
            'Your PHP version must be %s or higher to run CodeIgniter. Current version: %s',
            $minPhpVersion,
            PHP_VERSION
        );
    
        exit($message);
    }
    
    
    // We want errors to be shown when using it from the CLI.
    
    ini_set('display_errors', '1');
    
    
    /*
     *---------------------------------------------------------------
     * SET THE CURRENT DIRECTORY
     *---------------------------------------------------------------
    
    // Path to the front controller
    define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR);
    
    // Ensure the current directory is pointing to the front controller's directory
    chdir(FCPATH);
    
    
    /*
     *---------------------------------------------------------------
     * BOOTSTRAP THE APPLICATION
     *---------------------------------------------------------------
     * This process sets up the path constants, loads and registers
     * our autoloader, along with Composer's, loads our constants
     * and fires up an environment-specific bootstrapping.
     */
    
    
    // LOAD OUR PATHS CONFIG FILE
    
    // This is the line that might need to be changed, depending on your folder structure.
    require FCPATH . '../app/Config/Paths.php';
    
    // ^^^ Change this line if you move your application folder
    
    $paths = new Config\Paths();
    
    
    // LOAD THE FRAMEWORK BOOTSTRAP FILE
    require $paths->systemDirectory . '/Boot.php';
    
    exit(CodeIgniter\Boot::bootSpark($paths));