Changeset View
Changeset View
Standalone View
Standalone View
support/PhabricatorStartup.php
| Show First 20 Lines • Show All 419 Lines • ▼ Show 20 Lines | foreach ($filter as $type) { | ||||
| break; | break; | ||||
| case INPUT_COOKIE: | case INPUT_COOKIE: | ||||
| $_COOKIE = array_merge($_COOKIE, $filtered); | $_COOKIE = array_merge($_COOKIE, $filtered); | ||||
| break; | break; | ||||
| case INPUT_POST: | case INPUT_POST: | ||||
| $_POST = array_merge($_POST, $filtered); | $_POST = array_merge($_POST, $filtered); | ||||
| break; | break; | ||||
| case INPUT_ENV; | case INPUT_ENV; | ||||
| $_ENV = array_merge($_ENV, $filtered); | $env = array_merge($_ENV, $filtered); | ||||
| $_ENV = self::filterEnvSuperglobal($env); | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| // rebuild $_REQUEST, respecting order declared in ini files | // rebuild $_REQUEST, respecting order declared in ini files | ||||
| $order = ini_get('request_order'); | $order = ini_get('request_order'); | ||||
| if (!$order) { | if (!$order) { | ||||
| $order = ini_get('variables_order'); | $order = ini_get('variables_order'); | ||||
| Show All 16 Lines | for ($i = 0; $i < strlen($order); $i++) { | ||||
| break; | break; | ||||
| default: | default: | ||||
| // $_ENV and $_SERVER never go into $_REQUEST | // $_ENV and $_SERVER never go into $_REQUEST | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| /** | |||||
| * Adjust `$_ENV` before execution. | |||||
| * | |||||
| * Adjustments here primarily impact the environment as seen by subprocesses. | |||||
| * The environment is forwarded explicitly by @{class:ExecFuture}. | |||||
| * | |||||
| * @param map<string, wild> Input `$_ENV`. | |||||
| * @return map<string, string> Suitable `$_ENV`. | |||||
| * @task validation | |||||
| */ | |||||
| private static function filterEnvSuperglobal(array $env) { | |||||
| // In some configurations, we may get "argc" and "argv" set in $_ENV. | |||||
| // These are not real environmental variables, and "argv" may have an array | |||||
| // value which can not be forwarded to subprocesses. Remove these from the | |||||
| // environment if they are present. | |||||
| unset($env['argc']); | |||||
| unset($env['argv']); | |||||
| return $env; | |||||
| } | |||||
| /** | /** | ||||
| * @task validation | * @task validation | ||||
| */ | */ | ||||
| private static function verifyPHP() { | private static function verifyPHP() { | ||||
| $required_version = '5.2.3'; | $required_version = '5.2.3'; | ||||
| if (version_compare(PHP_VERSION, $required_version) < 0) { | if (version_compare(PHP_VERSION, $required_version) < 0) { | ||||
| self::didFatal( | self::didFatal( | ||||
| "You are running PHP version '".PHP_VERSION."', which is older than ". | "You are running PHP version '".PHP_VERSION."', which is older than ". | ||||
| ▲ Show 20 Lines • Show All 392 Lines • Show Last 20 Lines | |||||