index.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. const DS = DIRECTORY_SEPARATOR;
  3. // comment out the following two lines when deployed to production
  4. defined('YII_DEBUG') or define('YII_DEBUG', true);
  5. defined('YII_ENV') or define('YII_ENV', 'dev');
  6. require __DIR__ . '/../vendor/autoload.php';
  7. require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
  8. $env='prod';
  9. $env_file = __DIR__ . DS . '..' . DS . '.env';
  10. if (file_exists($env_file)) {
  11. $env = [];
  12. $lines = explode(PHP_EOL,trim(file_get_contents($env_file)));
  13. foreach ($lines as $line){
  14. $pair = explode("=",$line);
  15. $env[$pair[0]]=$pair[1];
  16. defined($pair[0]) or define($pair[0], $pair[1]);
  17. }
  18. if(\yii\helpers\ArrayHelper::getValue($env,'ENV',false) && $env['ENV']=="dev"){
  19. $env = "dev";
  20. defined('YII_DEBUG') or define('YII_DEBUG', true);
  21. defined('YII_ENV') or define('YII_ENV', 'dev');
  22. defined('YII_ENV_DEV') or define('YII_ENV_DEV', 'dev');
  23. }
  24. if(isset($env['ENV'])){
  25. $env = $env['ENV'];
  26. } else{
  27. $env = "prod";
  28. }
  29. } else {
  30. defined('YII_DEBUG') or define('YII_DEBUG', false);
  31. defined('YII_ENV') or define('YII_ENV', 'prod');
  32. }
  33. if (file_exists(__DIR__ . DS . '..' . DS . 'revision.php')) {
  34. require_once(__DIR__ . DS . '..' . DS . 'revision.php');
  35. }
  36. if (!defined('REV')) {
  37. define('REV', 1);
  38. }
  39. $config_path = __DIR__ . DS.'..'.DS.'config'.DS.'env'.DS.$env.'.php';
  40. $config = require($config_path);
  41. $config = require __DIR__ . '/../config/web.php';
  42. (new yii\web\Application($config))->run();