class PhpExecutableFinder in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/process/PhpExecutableFinder.php \Symfony\Component\Process\PhpExecutableFinder
An executable finder specifically designed for the PHP executable.
@author Fabien Potencier <fabien@symfony.com> @author Johannes M. Schmitt <schmittjoh@gmail.com>
Hierarchy
- class \Symfony\Component\Process\PhpExecutableFinder
Expanded class hierarchy of PhpExecutableFinder
5 files declare their use of PhpExecutableFinder
- AbstractProcessTest.php in vendor/
symfony/ process/ Tests/ AbstractProcessTest.php - PhpExecutableFinderTest.php in vendor/
symfony/ process/ Tests/ PhpExecutableFinderTest.php - PhpProcessTest.php in vendor/
symfony/ process/ Tests/ PhpProcessTest.php - Shell.php in vendor/
symfony/ console/ Shell.php - simpletest.module in core/
modules/ simpletest/ simpletest.module - Provides testing functionality.
File
- vendor/
symfony/ process/ PhpExecutableFinder.php, line 20
Namespace
Symfony\Component\ProcessView source
class PhpExecutableFinder {
private $executableFinder;
public function __construct() {
$this->executableFinder = new ExecutableFinder();
}
/**
* Finds The PHP executable.
*
* @param bool $includeArgs Whether or not include command arguments
*
* @return string|false The PHP executable path or false if it cannot be found
*/
public function find($includeArgs = true) {
// HHVM support
if (defined('HHVM_VERSION')) {
return (getenv('PHP_BINARY') ?: PHP_BINARY) . ($includeArgs ? ' ' . implode(' ', $this
->findArguments()) : '');
}
// PHP_BINARY return the current sapi executable
if (defined('PHP_BINARY') && PHP_BINARY && in_array(PHP_SAPI, array(
'cli',
'cli-server',
)) && is_file(PHP_BINARY)) {
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 ('\\' === DIRECTORY_SEPARATOR) {
$dirs[] = 'C:\\xampp\\php\\';
}
return $this->executableFinder
->find('php', false, $dirs);
}
/**
* Finds the PHP executable arguments.
*
* @return array The PHP executable arguments
*/
public function findArguments() {
$arguments = array();
// HHVM support
if (defined('HHVM_VERSION')) {
$arguments[] = '--php';
}
return $arguments;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpExecutableFinder:: |
private | property | ||
PhpExecutableFinder:: |
public | function | Finds The PHP executable. | |
PhpExecutableFinder:: |
public | function | Finds the PHP executable arguments. | |
PhpExecutableFinder:: |
public | function |