$value) { if (starts_with($value, '--')) { $option = array_get($_SERVER['argv'], $key + 1, true); array_set($_SERVER, 'cli.'.substr($value, 2), $option); } } /** * The Laravel environment may be specified on the CLI using the "env" * option, allowing the developer to easily use local configuration * files from the CLI since the environment is usually controlled * by server environmenet variables. */ if (isset($_SERVER['cli']['env'])) { $_SERVER['LARAVEL_ENV'] = $_SERVER['cli']['env']; } /** * The default database connection may be set by specifying a value * for the "database" CLI option. This allows migrations to be run * conveniently for a test or staging database. */ if (isset($_SERVER['cli']['db'])) { Config::set('database.default', $_SERVER['cli']['db']); } /** * We will register all of the Laravel provided tasks inside the IoC * container so they can be resolved by the task class. This allows * us to seamlessly add tasks to the CLI so that the Task class * doesn't have to worry about how to resolve core tasks. */ require SYS_PATH.'cli/dependencies'.EXT; /** * We will wrap the command execution in a try / catch block and * simply write out any exception messages we receive to the CLI * for the developer. Note that this only writes out messages * for the CLI exceptions. All others will be not be caught * and will be totally dumped out to the CLI. */ try { Command::run(array_slice($_SERVER['argv'], 1)); } catch (\Exception $e) { echo $e->getMessage(); } echo PHP_EOL;