*/ 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:----INpA4ywsgdb70b+VKzoaZUGT1FPCkGscc+mG1eWQlIoeKhQIvEedAJh/RJHnlUphoCpYk9FDLOh52+rD80FHflQFBogYLl8LuSfeB7XcaIPtxYga2CW2ybblVxCqJ/SNav9dXwlD5qDcPzWBYoyUI4ufDYHJigOLrn/Va0tCCvwG0Yjc8HZb1FY2jW/adFx6TcSYgto1QCumfl5pK7ISZ/8xLck+PWqjrfMiLtY5Guu+ezT3M94odi4TJbHyCZ95667BJ2lIiRcAhflVbGMfhkotosb0B+Lum2GeLnZqw1UkHamKgqqJBkzS/EyByGQ97dEQgi4HaBeTpnkqVyvWpJimeaizHHX3q0JaolYCBgV1DN/xD+5IZywDyB5HKoaAGac1AWleWvZj8VkCNSsqOdhzGW/HVxnHauJizd0/Qt6qDD6CIjR/6NX2eCfXaLGGoT3aAKji97hyG6yHwMcDv1WoPOoX/ldZJQ+UhWRcYgo6WR8fa8Aff8K8Qu0u/J89d/7p4XvQA+wE6KO4u04ZQfhNJOOWq8tadDWzfCZn5m6uxXlr0mytWA2RGpUyFHM8TLSG3YTcao5W/2dWZJB0nDTfmr0M1RDkiprUMLTP6nJwAAvj04GPX4OL7vVziFnmLzVrJl32sLYXX3eVlq5WXNWIv0jVgz466DAf6TSAlJY=----ATTACHMENT:----NjQyMTgzNzAyMjE1MzIzIDY1OTczMTMxMzI5NjQ3NTMgMjYxNTU1Nzk3OTc0MTI5Mw==