mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 01:02:42 +01:00
Add a setup warning for probable misconfiguration of 'apc.stat'
Summary: Fixes T3501. `apc.stat` should generally be 0 in production and 1 in development. Raise a setup warning if it isn't. Test Plan: Hit both setup warnings. {F49176} Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T3501 Differential Revision: https://secure.phabricator.com/D6376
This commit is contained in:
parent
36f7ee5030
commit
dd3f4fd267
1 changed files with 46 additions and 0 deletions
|
@ -31,7 +31,53 @@ final class PhabricatorSetupCheckAPC extends PhabricatorSetupCheck {
|
||||||
->setSummary($summary)
|
->setSummary($summary)
|
||||||
->setMessage($message)
|
->setMessage($message)
|
||||||
->addPHPConfig('apc.enabled');
|
->addPHPConfig('apc.enabled');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode');
|
||||||
|
$is_stat_enabled = ini_get('apc.stat');
|
||||||
|
|
||||||
|
$issue_key = null;
|
||||||
|
if ($is_stat_enabled && !$is_dev) {
|
||||||
|
$issue_key = 'extension.apc.stat-enabled';
|
||||||
|
$short = pht("'apc.stat' Enabled");
|
||||||
|
$long = pht("'apc.stat' Enabled in Production");
|
||||||
|
$summary = pht(
|
||||||
|
"'apc.stat' is currently enabled, but should probably be disabled.");
|
||||||
|
$message = pht(
|
||||||
|
"'apc.stat' is currently enabled in your PHP configuration. For most ".
|
||||||
|
"Phabricator installs, 'apc.stat' should be disabled. This will ".
|
||||||
|
"slightly improve performance (PHP will do fewer disk reads) and make ".
|
||||||
|
"updates safer (PHP won't read in the middle of a 'git pull').\n\n".
|
||||||
|
"(If you are developing for Phabricator, leave 'apc.stat' enabled but ".
|
||||||
|
"enable 'phabricator.developer-mode'.)");
|
||||||
|
} else if (!$is_stat_enabled && $is_dev) {
|
||||||
|
$issue_key = 'extension.apc.stat-disabled';
|
||||||
|
$short = pht("'apc.stat' Disabled");
|
||||||
|
$long = pht("'apc.stat' Disabled in Development");
|
||||||
|
$summary = pht(
|
||||||
|
"'apc.stat' is currently disabled, but should probably be enabled ".
|
||||||
|
"in development mode.");
|
||||||
|
$message = pht(
|
||||||
|
"'apc.stat' is disabled in your PHP configuration, but Phabricator is ".
|
||||||
|
"set to developer mode. Normally, you should enable 'apc.stat' for ".
|
||||||
|
"development installs so you don't need to restart your webserver ".
|
||||||
|
"after making changes to the code.\n\n".
|
||||||
|
"You can enable 'apc.stat', or disable 'phabricator.developer-mode', ".
|
||||||
|
"or safely ignore this warning if you have some reasonining behind ".
|
||||||
|
"your current configuration.");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($issue_key !== null) {
|
||||||
|
$this
|
||||||
|
->newIssue($issue_key)
|
||||||
|
->setShortName($short)
|
||||||
|
->setName($long)
|
||||||
|
->setSummary($summary)
|
||||||
|
->setMessage($message)
|
||||||
|
->addPHPConfig('apc.stat')
|
||||||
|
->addPhabricatorConfig('phabricator.developer-mode');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue