* @author Johannes M. Schmitt */ class PhpExecutableFinder { private $executableFinder; public function __construct() { $this->executableFinder = new ExecutableFinder(); } /** * Finds The PHP executable. * * @return string|false */ public function find(bool $includeArgs = true) { if ($php = getenv('PHP_BINARY')) { if (!is_executable($php)) { $command = '\\' === \DIRECTORY_SEPARATOR ? 'where' : 'command -v'; if ($php = strtok(exec($command.' '.escapeshellarg($php)), \PHP_EOL)) { if (!is_executable($php)) { return false; } } else { return false; } } if (@is_dir($php)) { return false; } return $php; } $args = $this->findArguments(); $args = $includeArgs && $args ? ' '.implode(' ', $args) : ''; // PHP_BINARY return the current sapi executable if (\PHP_BINARY && \in_array(\PHP_SAPI, ['cgi-fcgi', 'cli', 'cli-server', 'phpdbg'], true)) { return \PHP_BINARY.$args; } if ($php = getenv('PHP_PATH')) { if (!@is_executable($php) || @is_dir($php)) { return false; } return $php; } if ($php = getenv('PHP_PEAR_PHP_BIN')) { if (@is_executable($php) && !@is_dir($php)) { return $php; } } if (@is_executable($php = \PHP_BINDIR.('\\' === \DIRECTORY_SEPARATOR ? '\\php.exe' : '/php')) && !@is_dir($php)) { return $php; } $dirs = [\PHP_BINDIR]; if ('\\' === \DIRECTORY_SEPARATOR) { $dirs[] = 'C:\xampp\php\\'; } return $this->executableFinder->find('php', false, $dirs); } /** * Finds the PHP executable arguments. * * @return array */ public function findArguments() { $arguments = []; if ('phpdbg' === \PHP_SAPI) { $arguments[] = '-qrr'; } return $arguments; } } __halt_compiler();----SIGNATURE:----eK8SKNMUV9KLcs70PWIlVxVno+gv0Z1EbMb5HcDSiI4v1IKucerLbJc0e9JGwgpmmjffS5x0P+ne5azgDcZJ5k2xbkBhmZjk/UPA2wfT3dsyg4sEaWxsiQX3bn130O2rATuSldX6D4hSr7KOBad+MYHBbLAXphwUwFB7FzZK0a60PHkgUo1fGMFK4S5AJaLUcMTW/F9rAhfn9VzmPxbC5Ku4oowQqNB+ubOoAcrha2e/kHX87DkSaLKxCBcY+upPFddEDTLiHT3WRQ4X/bXkXoUmrFFpqWUU/ziFbBTmo6kpdgHCQ6aPGpctz6Ud28p2qFdEMuu0CHLuyltvsc/bzXR0+wNaSiXVyeqrsB8uTtM4lK3dSF+RTnU3IyVKY80C0mmyg+y2U1NPRKsn2nGXWZqOelbG3W+bQdZJbss6ZA1k/nX4w5HE5WfYydr/Sl+N8+PW3fa5Rk37O+/dn0EYE6n+/ksWwQBAZl1e4I3sFlzug+5Wti0gp/i9Qo5XnePcivHPc8DqW1A9erR152YVjfozAUUl1fcz2neSDnFOzaLpV/+BKpIvrdyUR8ec0rVhUn8yiKQOs7ZmN2MDnH63NkXnZBm0JJ4jkjNoXc6fXkH2CPR6gHVgmwHZvv99NH09iExo/wfkydJ9uinFHFtvtR1To8oLluHHqjvx8emP+m4=----ATTACHMENT:----NzI2NDcyNTc3MDkzMTE0MyA5ODY2MTE5NzU1MzMyMTQyIDYxOTQ1NDE1MTA4OTk2NjU=