*/ 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:----AqCvqcZ23MxvoByF9PMhs7XvVNf5fZ45gN829l2DeHpaZSA9SXr0qs8jxtDo6qEtcj4zReNeWyuTgid6UKXmd5iegWfLRpY2UiXY+SzWtKJbjbVcyh4jHp5zZ8dUMaWBPfK2XpdCHrg8JZbG2y1ikamaqgMD/ZyX4I7PboimXrKpEVqMl9O6IQDTtVrMgshvPXjlafxKQHhkIlHf6hcQ/1S6r64S4Y59R7aHC6ZHBasDlbnO83W2wiTby8uS3OjxYYV+hNajYhKH9fjszuaFj/nKSJJqqmDL0mPdGLG5cVmqM96J8+kT7hB+4s+YrdXz830W4OOtx9gzhGAmb1fN8lz0/jtoJPCaHxchK2ptut5ImQDOHtSPt3PetXihbgXsOdHnEwLSTpYLqjPvkeK+yjbO/NFxgND8ee5A2xXrriWZK5+0UETGv/C1AX6hUCzZSsXasjKHko9BAGA931bkxFul7pROL3CFr2sKFqA54amCjHQekB4Ar6PjKexgcTRmnQdf4ejyZ9R1aoVudK11Ay+XqU0LSqsZcqKjNXQIEjJ51gBCNsczrVYutUf/dMA1fu358JBfrgIC7+k3L7e5eTIbOST2+bX2bbU3jud4mCwJjNCgV/6gOZCelgPQHm3D211mSYmZW0l6UzGF9k78lX1ioVeX2Q9ULQ38gUSfjVE=----ATTACHMENT:----NDAxNDgxMDc0MzAyNjc4NSAxODkzNTk1MzA3MzUxMzUgNzU5MjQ1MDY5OTIxMzAyNw==