class PhpExecutableFinder

An executable finder specifically designed for the PHP executable.

@author Fabien Potencier <fabien@symfony.com> @author Johannes M. Schmitt <schmittjoh@gmail.com>

Hierarchy

Expanded class hierarchy of PhpExecutableFinder

2 files declare their use of PhpExecutableFinder
PhpExecutableFinderTest.php in drupal/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
simpletest.module in drupal/core/modules/simpletest/simpletest.module
Provides testing functionality.

File

drupal/core/vendor/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php, line 20

Namespace

Symfony\Component\Process
View source
class PhpExecutableFinder {
  private $executableFinder;
  public function __construct() {
    $this->executableFinder = new ExecutableFinder();
  }

  /**
   * Finds The PHP executable.
   *
   * @return string|false The PHP executable path or false if it cannot be found
   */
  public function find() {

    // PHP_BINARY return the current sapi executable
    if (defined('PHP_BINARY') && PHP_BINARY && 'cli' === PHP_SAPI) {
      return PHP_BINARY;
    }
    if ($php = getenv('PHP_PATH')) {
      if (!is_executable($php)) {
        return false;
      }
      return $php;
    }
    if ($php = getenv('PHP_PEAR_PHP_BIN')) {
      if (is_executable($php)) {
        return $php;
      }
    }
    $dirs = array(
      PHP_BINDIR,
    );
    if (defined('PHP_WINDOWS_VERSION_BUILD')) {
      $dirs[] = 'C:\\xampp\\php\\';
    }
    return $this->executableFinder
      ->find('php', false, $dirs);
  }

}

Members