Определить, вызывается ли скрипт php из schell_execute или выполняется вручную - PullRequest
0 голосов
/ 23 мая 2019

У нас есть случай, когда наш обработчик вызывается из shell_execute. Наш Отладчик тогда думает, что он вызывается от пользователя непосредственно из cmd и выводит true. мы должны справиться с этим. есть идеи как?

public static function canDebug($enviroment = 'any')
{
    if ($enviroment == "sql" && self::$disableSqlDebug) {
        return false;
    }
    if (php_sapi_name() == 'cli') {
        if (isset($_SERVER['TERM'])) {
            //The script was run from a manual invocation on a shell
            return (($enviroment == 'any' || $enviroment == 'console') && !self::$disableCliDebug);
        } else {
            //The script was run from the crontab entry
            return (($enviroment == 'any' || $enviroment == 'cron') && !self::$disableCliDebug);
        }
    } else {
        if (!isset(self::$mergedConfig['debug']['allowedIPRanges']))
            return false;
        return (self::isIPAllowedToDebug(self::getClientIPAddress()) && ($enviroment == 'any' || $enviroment == 'webOnly'));
    }
}

Запущено, что сервер TERM var установлен в shell_exec. и он возвращает истину в этой части. мы должны признать, если это руководство.

...