Программно получить путь к php - PullRequest
1 голос
/ 09 февраля 2011

Я бы хотел сделать то же самое, что и Как "преобразовать" процесс конвертации видео в фоновый режим, в php? :

exec("/usr/bin/php ./foo.php > /dev/null 2>&1 &");  // executed in Apache

Однако, это будет работать на различных платформах: моя машина, где php скомпилирован в ~ /, windows, несколько серверов prod ...

Есть ли способ программно получить часть "/ usr / bin / php"?

Вещи, о которых я мог подумать:

  • получить текущий pid, угадать исполняемый файл из него
  • в C первый аргумент - это путь к исполняемому файлу, может быть, есть что-то похожее

1 Ответ

2 голосов
/ 09 февраля 2011

Самый простой способ - просто убедиться, что двоичный файл CLI php находится в переменной среды $PATH, а затем просто использовать php /path/to/foo.php.

В UNIX вы также можете использовать /usr/bin/env php, который выполнит первый php двоичный файл, найденный в $PATH. Но это, очевидно, не будет работать в Windows.

Наконец, один очевидный способ - указать местоположение для PHP в качестве настраиваемой опции и, при необходимости, использовать указанный пользователем путь.

...