Я хотел бы сделать что-то похожее, чем Как сделать "fork" процесс преобразования видео в фон, в php?:
exec("/usr/bin/php ./foo.php > /dev/null 2>&1 &"); // executed in Apache
Однако это будет работать на разных платформах: моя машина, где php скомпилирована в ~/, windows, несколько prod-серверов...
Есть ли способ программно получить часть "/usr/bin/php"?
Вещи, о которых я мог думать:
Самый простой способ - просто убедиться, что двоичный файл php
CLI находится в переменной среды $PATH
, а затем просто используйте php /path/to/foo.php
.
В UNIX вы также можете использовать /usr/bin/env php
, который будет выполнять первый php
двоичный код, найденный в $PATH
. Но это явно не будет работать в Windows.
Наконец, один из очевидных способов состоит в том, чтобы местоположение было php
в качестве настраиваемой опции и, если необходимо, использовать указанный пользователем путь.