Esempio n. 1
0
function phabricator_detect_bad_base_uri()
{
    $conf = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
    $uri = new PhutilURI($conf);
    switch ($uri->getProtocol()) {
        case 'http':
        case 'https':
            break;
        default:
            return phabricator_fatal_config_error("'phabricator.base-uri' is set to '{$conf}', which is invalid. " . "The URI must start with 'http://' or 'https://'.");
    }
    if (strpos($uri->getDomain(), '.') === false) {
        phabricator_fatal_config_error("'phabricator.base-uri' is set to '{$conf}', which is invalid. The URI " . "must contain a dot ('.'), like 'http://example.com/', not just " . "'http://example/'. Some web browsers will not set cookies on domains " . "with no TLD, and Phabricator requires cookies for login. " . "If you are using localhost, create an entry in the hosts file like " . "'127.0.0.1 example.com', and access the localhost with " . "'http://example.com/'.");
    }
}
Esempio n. 2
0
function phabricator_detect_insane_memory_limit()
{
    $memory_limit = ini_get('memory_limit');
    $char_limit = 12;
    if (strlen($memory_limit) <= $char_limit) {
        return;
    }
    // colmdoyle ran into an issue on an Ubuntu box with Suhosin where his
    // 'memory_limit' was set to:
    //
    //   3232323232323232323232323232323232323232323232323232323232323232M
    //
    // Not a typo. A wizard did it.
    //
    // Anyway, with this 'memory_limit', the machine would immediately fatal
    // when executing the ini_set() later. I wasn't able to reproduce this on my
    // EC2 Ubuntu + Suhosin box, but verified that it caused the problem on his
    // machine and that setting it to a more sensible value fixed it. Since I
    // have no idea how to actually trigger the issue, we look for a coarse
    // approximation of it (a memory_limit setting more than 12 characters in
    // length).
    phabricator_fatal_config_error("Your PHP 'memory_limit' is set to something ridiculous " . "(\"{$memory_limit}\"). Set it to a more reasonable value (it must be no " . "more than {$char_limit} characters long).");
}