Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
standalone_bootstrap.php
Go to the documentation of this file.
1 <?php
7 //Do not continue running this bootstrap if PHPUnit is calling it
8 $fullTrace = debug_backtrace();
9 $rootFile = array_values(array_slice($fullTrace, -1))[0]['file'];
10 if (strpos($rootFile, "phpunit") !== false) {
11  return;
12 }
13 
14 defined('PROJECT_ROOT') || define('PROJECT_ROOT', dirname(dirname(dirname(__DIR__))));
15 
16 require_once realpath(PROJECT_ROOT . '/vendor/autoload.php');
17 
18 //Load constants from .env file
19 $envFilePath = dirname(dirname(__DIR__));
20 if (file_exists($envFilePath . DIRECTORY_SEPARATOR . '.env')) {
21  $env = new \Dotenv\Loader($envFilePath . DIRECTORY_SEPARATOR . '.env');
22  $env->load();
23 
24  foreach ($_ENV as $key => $var) {
25  defined($key) || define($key, $var);
26  }
27 
28  if (array_key_exists('MAGENTO_BP', $_ENV)) {
29  // TODO REMOVE THIS CODE ONCE WE HAVE STOPPED SUPPORTING dev/tests/acceptance PATH
30  // define TEST_PATH and TEST_MODULE_PATH
31  defined('TESTS_BP') || define('TESTS_BP', dirname(dirname(__DIR__)));
32  $RELATIVE_TESTS_MODULE_PATH = '/tests/functional/tests/MFTF';
33  defined('TESTS_MODULE_PATH') || define(
34  'TESTS_MODULE_PATH',
35  realpath(TESTS_BP . $RELATIVE_TESTS_MODULE_PATH)
36  );
37  }
38 
39  defined('MAGENTO_CLI_COMMAND_PATH') || define(
40  'MAGENTO_CLI_COMMAND_PATH',
41  'dev/tests/acceptance/utils/command.php'
42  );
43  $env->setEnvironmentVariable('MAGENTO_CLI_COMMAND_PATH', MAGENTO_CLI_COMMAND_PATH);
44 
45  defined('MAGENTO_CLI_COMMAND_PARAMETER') || define('MAGENTO_CLI_COMMAND_PARAMETER', 'command');
46  $env->setEnvironmentVariable('MAGENTO_CLI_COMMAND_PARAMETER', MAGENTO_CLI_COMMAND_PARAMETER);
47 
48  defined('DEFAULT_TIMEZONE') || define('DEFAULT_TIMEZONE', 'America/Los_Angeles');
49  $env->setEnvironmentVariable('DEFAULT_TIMEZONE', DEFAULT_TIMEZONE);
50 
51  try {
52  new DateTimeZone(DEFAULT_TIMEZONE);
53  } catch (\Exception $e) {
54  throw new \Exception("Invalid DEFAULT_TIMEZONE in .env: " . DEFAULT_TIMEZONE . PHP_EOL);
55  }
56 
57 }
58 
59 defined('FW_BP') || define('FW_BP', PROJECT_ROOT);
60 defined('MAGENTO_BP') || define('MAGENTO_BP', PROJECT_ROOT);
61 defined('TESTS_BP') || define('TESTS_BP', dirname(dirname(__DIR__)));
62 
63 $RELATIVE_TESTS_MODULE_PATH = '/tests/functional/tests/MFTF';
64 defined('TESTS_MODULE_PATH') || define('TESTS_MODULE_PATH', realpath(TESTS_BP . $RELATIVE_TESTS_MODULE_PATH));
65 
66 
67 // add the debug flag here
68 $debug_mode = $_ENV['MFTF_DEBUG'] ?? false;
69 if (!(bool)$debug_mode && extension_loaded('xdebug')) {
70  xdebug_disable();
71 }
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$RELATIVE_TESTS_MODULE_PATH
if(file_exists($envFilePath . DIRECTORY_SEPARATOR . '.env')) defined('FW_BP')||define('FW_BP' PROJECT_ROOT