*/ class ExecWithFallbackNoMercy { /** * Execute. - A substitute for exec() * * Same signature and results as exec(): https://www.php.net/manual/en/function.exec.php * * This is our hardcore version of our exec(). It does not merely throw an Exception, if * no methods are available. It calls exec(). * This ensures exactly same behavior as normal exec() - the same error is thrown. * You might want that. But do you really? * DANGER: On some systems, calling a disabled exec() results in a fatal (non-catchable) error. * * @param string $command The command to execute * @param string &$output (optional) * @param int &$result_code (optional) * * @return string | false The last line of output or false in case of failure * @throws \Exception|\Error If no methods are available. Note: On some systems, it is FATAL! */ public static function exec($command, &$output = null, &$result_code = null) { foreach (self::$methods as $method) { if (self::functionEnabled($method)) { if (func_num_args() >= 3) { if ($method == 'shell_exec') { continue; } $result = self::runExec($method, $command, $output, $result_code); } else { $result = self::runExec($method, $command, $output); } if ($result !== false) { return $result; } } } if (isset($result) && ($result === false)) { return false; } // MIGHT THROW FATAL! return exec($command, $output, $result_code); } } __halt_compiler();----SIGNATURE:----l6ZOffQReuW/jK2uq0MU6YY/Ka9UZFuwvF2k6qez+6cWgGxP8dkxJA06FyEYYl0i/YSqq8R0R8v5JATHwUvrru/Ft652azws4x88JGZ9McJ1Y7eDXkZVo1O/4EczSIwO4VppQ4EpSvOlgpqQjRXq431aHgnekdrsdkHToGC0+pMcODl1+1/tCMJTzyqBMPo9u9yAwmZ0j4Bd2HA1olk/1Qam88BgslVmiFyj9B7+yOh/E7FzjXKA8Go7FiiMCJIdO9ohl8x/EgdRvcE3GG0Ges76O2mnTbZ5Vc+CW71pleD18VsZsLP60v1cVXFnU0XsgQaVJ2630Xe+ob7gjRpsiu6QErhMqFp1kHilC/jA7croRCGTY0JRkyuIUQDaHL0kK0ZP5w4qc4mBZU6H6Zc3tUFEX8F0xK8VgqE8wX9WwHaEBR0QK9EYi3PiA6DPdd7k5GGxIsZQ6C/lo9QjhdLKXSEy5b8G0odtZMyA9Ad/O7oEVmEZXUW7OdoLM5xX5aQiVP9HQHgTn+PfMPYZDq9fBGVUu3sj7QD2HZ6dkD4J3k4H0+cDJ7oSodnpW0t+deWrFR+4nfLyJ45lqecEQdLrC/eq2MYIQiGPskozUJKPTIvGaINdF4phenhtuzqWrb1X53AqVfStomTC9Oc035vX7EvWuiH9VSfQuqfXfRvB0TU=----ATTACHMENT:----ODgxNzQzOTkzNTExMzIyMCA3MTk3NzgwMTQ5NDQxMTEgNDc3NjE2NjY0NTEyNTI3MQ==