12 namespace Symfony\Component\Finder\Shell;
37 if (null === $this->type) {
53 if (!function_exists(
'exec')) {
58 $testCommand =
'which ';
59 if (self::TYPE_WINDOWS === $this->type) {
60 $testCommand =
'where ';
63 $command = escapeshellcmd($command);
65 exec($testCommand.$command, $output, $code);
67 return 0 === $code && count($output) > 0;
77 $os = strtolower(PHP_OS);
79 if (
false !== strpos($os,
'cygwin')) {
80 return self::TYPE_CYGWIN;
83 if (
false !== strpos($os,
'darwin')) {
84 return self::TYPE_DARWIN;
87 if (
false !== strpos($os,
'bsd')) {
88 return self::TYPE_BSD;
91 if (0 === strpos($os,
'win')) {
92 return self::TYPE_WINDOWS;
95 return self::TYPE_UNIX;