Как я могу получить путь bin php от PHP? Я видел это в phpinfo(); но мне нужен другой метод, который получает его в системах Linux и Windows.Как получить путь от PHP BIN от PHP?
ответ
Вы можете использовать:
$_SERVER['_']
Кроме того, the predefined constant PHP_BINDIR
дает каталог, в котором найдена PHP исполняемый.
Похоже, из соображений безопасности $_SERVER
значения не отображаются. (Полагаю, пожалуйста, поправьте меня, если я ошибаюсь).
В Windows константа PHP_BINDIR указывает на «C: \ php5», даже если php находится в совершенно другом каталоге, например, для меня «C: \ dev \ php». Здесь PHP устанавливается как модуль apache. – SirDarius
Сервер, на котором я был, к сожалению, возвратил NULL, я предполагаю из-за соображений безопасности. – Chris
PHP_BINDIR работал для меня на Debian. $ _SERVER ['_'] этого не делал. –
Метод, использующий переменные среды, предполагая, что исполняемый файл 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
}
Это сработало для меня как на Windows, так и на Linux, спасибо! – SeanDowney
@ggirtsou Я не получаю ваше редактирование ... почему Путь Windows содержит запись с «php.exe»? Если это что-то конкретное для XAMPP, пожалуйста, по крайней мере добавьте в код значащий комментарий. – SirDarius
@SirDarius да редактирование основано на выходе XAMPP. –
Linux только Используйте команду "которая" найти PHP.
$phpPath = exec("which php");
Примечание это не гарантирует тот же PHP исполняемый файл, что ваш веб-сервер может использовать, а первый экземпляр, который был найден, глядя через пути.
Хорошая точка, но большинство услуг хостинга не позволяют ' exec'. – Hossein
Да, некоторые хосты не делают, другие делают, я думаю, это зависит от вашего контекста. – SeanDowney
Это не обязательно приводит к правильному двоичному файлу php, так как Apache и командная строка могут очень хорошо использовать разные. –
Возможно, наилучшим решением является компонент процесса 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;
Обычно, при простой установке PHP по умолчанию в Windows, файл php.ini находится и загружается из одного и того же каталога PHP-двоичного кода.
Для упрощения, пользователи Windows:
echo dirname(php_ini_loaded_file()).DIRECTORY_SEPARATOR.'php.exe';
вуаля!
Конечно, если вы используете несколько ini-файлов, может не работать, если файлы не находятся в одном двоичном каталоге PHP. Кстати, это может решить большинство случаев. Разработчики Windows используют PHP из локальной среды разработки.
Извините, забыл сказать, что использую mac –
В окнах, используя wamp, вы можете использовать переменную ini - extension_dir - как она помещается в папку php.
так:
echo str_replace('ext/', 'php.exe', ini_get('extension_dir'));
Это очень просто!
var_dump(getenv('PHPBIN'));
Но это работает только в окнах, так что мы должны использовать этот Ансвер - https://stackoverflow.com/a/3889630/2574125
Как я получил это? Я просто набрал echo echo phpinfo();
и искал там php-путь. Juse см. Здесь:
то я просто добираюсь сюда: php getenv и ... вы видите результат. Используйте его, ребята.
Возвращает неверный результат на XAMMP – ymakux
Окна, XAMPP
$php = getenv('PHPRC') . '/php.exe';
if(is_file($expected)){
return $php;
}
- 1. Получить путь от PHP Загрузить
- 2. Получить cgi-bin путь с PHP
- 3. PHP получить абсолютный путь от URL
- 4. PHP Получить правильный путь от URL
- 5. PHP: получить реальный путь изображения от STRING
- 6. Получить путь от URL
- 7. получить значение ErrorLog от PHP
- 8. Получить все от PHP -
- 9. Как мне получить абсолютный путь от моего сайта без PHP?
- 10. экстракт путь от .lnk файла в PHP
- 11. PHP: взять путь от корня сайта дали абсолютный путь
- 12. получить путь от дочернего узла в массив PHP родительского
- 13. Получить полный путь от имени файла в PHP
- 14. определенный путь от php до javascript
- 15. Как получить путь от переменной
- 16. Получить ресурс от POST php
- 17. PHP получить переменную от функции
- 18. Получить ключ от php Array
- 19. получить текстовое значение от php
- 20. PHP Получить значения от JSON
- 21. Получить CSS-стиль от PHP
- 22. Получить PHP $ _SESSION от NodeJs
- 23. Получить эхо от php (xamarin)
- 24. PHP получить значение от AJAX
- 25. PHP получить IP от прокси
- 26. Получить запрос JSON от PHP
- 27. PHP получить объект от JSON
- 28. Получить твиттер-последователей от php
- 29. PHP: получить путь к директории PHP
- 30. PHP: получить ключ от массива?
возможно дубликат [Получить текущую PHP исполняемый внутри сценария?] (Http://stackoverflow.com/questions/2372624/get-current-php-executable-from-within -script) – Gordon