Как получить путь PHP BIN от PHP?

Как я могу получить путь bin php от PHP? Я видел это в phpinfo (); но мне нужен другой метод, который получает его в системах Linux и Windows.

Вы можете использовать:

$_SERVER['_'] 

также постоянная

PHP_BINDIR предоставляет каталог, в котором находится исполняемый файл php.

Образец на Codepad и ideone

Похож на соображения безопасности. Значения $_SERVER не отображаются. (Думаю..Plz исправьте меня, если я ошибаюсь).

Только Linux Используйте команду «which», чтобы найти php.

 $phpPath = exec("which php"); 

Обратите внимание, что это не гарантирует тот же исполняемый файл php, который может использовать ваш веб-сервер, а скорее первый экземпляр, который был найден при просмотре путей.

Метод, использующий переменные среды, предполагая, что исполняемый файл php находится в системном пути.

 function getPHPExecutableFromPath() { $paths = explode(PATH_SEPARATOR, getenv('PATH')); foreach ($paths as $path) { // we need this for XAMPP (Windows) if (strstr($path, 'php.exe') && isset($_SERVER["WINDIR"]) && file_exists($path) && is_file($path)) { return $path; } else { $php_executable = $path . DIRECTORY_SEPARATOR . "php" . (isset($_SERVER["WINDIR"]) ? ".exe" : ""); if (file_exists($php_executable) && is_file($php_executable)) { return $php_executable; } } } return FALSE; // not found } 

Возможно, лучшим решением является компонент процесса Symfony: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Process/PhpExecutableFinder.php и https://github.com/symfony/symfony /blob/master/src/Symfony/Component/Process/ExecutableFinder.php . В использовании:

 <?php use Symfony\Component\Process\PhpExecutableFinder; $phpFinder = new PhpExecutableFinder; if (!$phpPath = $phpFinder->find()) { throw new \Exception('The php executable could not be found, add it to your PATH environment variable and try again'); } return $phpPath; 

В Windows, используя wamp, вы можете использовать переменную ini – extension_dir – как она помещается в папку php.

как это:

 echo str_replace('ext/', 'php.exe', ini_get('extension_dir')); 

Обычно, при простой установке PHP по умолчанию под Windows, файл php.ini находится и загружается из одного и того же каталога PHP-двоичного кода.

Чтобы упростить, пользователи Windows:

 echo dirname(php_ini_loaded_file()).DIRECTORY_SEPARATOR.'php.exe'; 

вуаля!

Конечно, если вы используете несколько ini-файлов, может не работать, если файлы не находятся в одном двоичном каталоге PHP. Кстати, это может решить большинство случаев. Разработчики Windows используют PHP из локальной среды разработки.

Это очень легко!

 var_dump(getenv('PHPBIN')); 

Но он работает только в окнах, поэтому мы должны использовать этот ansver – https://stackoverflow.com/a/3889630/2574125

Как я получил это? Я просто набрал echo echo phpinfo(); и искали там php-путь. Juse см. Здесь: как я нашел php-путь

то я просто получаю здесь: php getenv и … вы видите результат. Используйте его, ребята.