mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-22 03:29:11 +01:00
Default "environment.append-paths" to include likely paths
Summary: A few more of these issues have cropped up recently. Basically: - Webservers often (by default, I guess?) have a different or nonexistent $PATH. - Users have a hard time figuring this out, since it's not obvious that the webserver might have a different configuration than the CLI, and they can run "git" and such themselves fine, and they don't normally use SetEnv or similar in webserver config. I've been pursuing one prong of attack here (better detection and more tailored errors); this is a second prong (try to just guess the configuration correctly). In 99% of cases, the binaries in question are in one of these three places, so just make them the default appended paths. If users have wacky configs they can override the setting. Test Plan: Viewed config locally. Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D6039
This commit is contained in:
parent
e434edc455
commit
9c925464ba
1 changed files with 20 additions and 4 deletions
|
@ -12,6 +12,18 @@ final class PhabricatorCoreConfigOptions
|
|||
}
|
||||
|
||||
public function getOptions() {
|
||||
if (phutil_is_windows()) {
|
||||
$paths = array();
|
||||
} else {
|
||||
$paths = array(
|
||||
'/bin',
|
||||
'/usr/bin',
|
||||
'/usr/local/bin',
|
||||
);
|
||||
}
|
||||
|
||||
$path = getenv('PATH');
|
||||
|
||||
return array(
|
||||
$this->newOption('phabricator.base-uri', 'string', null)
|
||||
->setLocked(true)
|
||||
|
@ -95,20 +107,24 @@ final class PhabricatorCoreConfigOptions
|
|||
"and a call to 'Leap Into Action'. If you'd prefer more ".
|
||||
"traditional UI strings like 'Submit', you can set this flag to ".
|
||||
"disable most of the jokes and easter eggs.")),
|
||||
$this->newOption('environment.append-paths', 'list<string>', array())
|
||||
$this->newOption('environment.append-paths', 'list<string>', $paths)
|
||||
->setSummary(
|
||||
pht("These paths get appended to your \$PATH envrionment variable."))
|
||||
->setDescription(
|
||||
pht(
|
||||
"Phabricator occasionally shells out to other binaries on the ".
|
||||
"server. An example of this is the \"pygmentize\" command, used ".
|
||||
"server. An example of this is the `pygmentize` command, used ".
|
||||
"to syntax-highlight code written in languages other than PHP. ".
|
||||
"By default, it is assumed that these binaries are in the \$PATH ".
|
||||
"of the user running Phabricator (normally 'apache', 'httpd', or ".
|
||||
"'nobody'). Here you can add extra directories to the \$PATH ".
|
||||
"environment variable, for when these binaries are in ".
|
||||
"non-standard locations. Note that you can also put binaries in ".
|
||||
"`phabricator/support/bin`."))
|
||||
"non-standard locations.\n\n".
|
||||
"Note that you can also put binaries in ".
|
||||
"`phabricator/support/bin/` (for example, by symlinking them).\n\n".
|
||||
"The current value of PATH after configuration is applied is:\n\n".
|
||||
" lang=text\n".
|
||||
" %s", $path))
|
||||
->addExample('/usr/local/bin', pht('Add One Path'))
|
||||
->addExample("/usr/bin\n/usr/local/bin", pht('Add Multiple Paths')),
|
||||
$this->newOption('tokenizer.ondemand', 'bool', false)
|
||||
|
|
Loading…
Add table
Reference in a new issue