mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
If we use new syntax in new PHP version when dropping older PHP version support, syntax error occurs before the PHP version check.
68 lines
2.2 KiB
PHP
68 lines
2.2 KiB
PHP
<?php
|
|
|
|
// Check PHP version.
|
|
$minPhpVersion = '7.4'; // If you update this, don't forget to update `spark`.
|
|
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);
|
|
}
|
|
|
|
// Path to the front controller (this file)
|
|
define('FCPATH', __DIR__ . 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();
|
|
|
|
// Location of the framework bootstrap file.
|
|
require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'bootstrap.php';
|
|
|
|
// Load environment settings from .env files into $_SERVER and $_ENV
|
|
require_once SYSTEMPATH . 'Config/DotEnv.php';
|
|
(new CodeIgniter\Config\DotEnv(ROOTPATH))->load();
|
|
|
|
/*
|
|
* ---------------------------------------------------------------
|
|
* GRAB OUR CODEIGNITER INSTANCE
|
|
* ---------------------------------------------------------------
|
|
*
|
|
* The CodeIgniter class contains the core functionality to make
|
|
* the application run, and does all of the dirty work to get
|
|
* the pieces all working together.
|
|
*/
|
|
|
|
$app = Config\Services::codeigniter();
|
|
$app->initialize();
|
|
$context = is_cli() ? 'php-cli' : 'web';
|
|
$app->setContext($context);
|
|
|
|
/*
|
|
*---------------------------------------------------------------
|
|
* LAUNCH THE APPLICATION
|
|
*---------------------------------------------------------------
|
|
* Now that everything is setup, it's time to actually fire
|
|
* up the engines and make this app do its thang.
|
|
*/
|
|
|
|
$app->run();
|