Почему нужно указывать полный путь к ffmpeg?

Статус
В этой теме нельзя размещать новые ответы.

PaulM

Новичок
Почему нужно указывать полный путь к ffmpeg?

Добрый день, вопрос такой. Почему когда логинюсь через SSH в консоль, то могу набирать в любой директории ffmpeg и он работает. А если указываю его в php для вызова через exec('ffmpeg'), то php его не видит и надо указывать полный путь к ffmpeg. Тем не менее, php видит ls и другие программы без полного пути. Почему так? Как сделать чтобы php видел ffmpeg тоже без полного пути? К тому же, на некоторых серваках ffmpeg запускается без полного пути, как это они сделали?

Спасибо :)
 

Активист

Активист
Команда форума
Переменная окружения PATH,
Для того, что бы узнать где бинарник нужно выполнить
whereis ffmpeg
И можешь расспарсить результат.
 

PaulM

Новичок
Точно. А почему тогда ffmpeg запускается из консоли без указания полного пути, а из php не запускается?
 

PaulM

Новичок
Не понятно зачем цитировать одно и тоже.

Вроде вопрос сформулировал понятно. Тот же самый вопрос.
В переменной окружения PATH ffmpeg нет, а ls есть.
Тем не менее консоль находит ffmpeg которого в PATH нет, а php не находит. С чем это связано? Я уже 200 раз понял что есть PATH, но вопрос именно в этом различии, а не просто в том чтобы цитировать все подряд.
 

Активист

Активист
Команда форума
PaulM
Зачем цетировать одно и тоже - что бы еще раз ткнуть носом.

Для общего добавления:

Сделай на сервере в консоле
echo $PATH

Потом тоже самое но уже из PHP
exec('echo $PATH');

Потом посмотри тоже используя http://php.net/phpinfo

Example:
Код:
[root@d328 ~]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/home/webmaster/data/bin
Это значит что набирая ffmpeg у тебя бинарник будет искаться во всех папках вышеуказанных (разделенных ":")

-~{}~ 03.09.07 08:50:

Вот тебе для размышления
http://www.linuxcenter.ru/lib/articles/system/path_howto.phtml?style=print
 

PaulM

Новичок
Конечно же патч я знал еще с советских, досовских времен, но никак не думал, что для PHP он может быть один, а для консоли другой. Поэтому консоль находила ffmpeg, а PHP - нет. Как я понял из нижней доки (огромное спасибо Активисту), патч для PHP различается потому, что он запускается под другим аккаунтом, а консоль работает под рутом. А PATH для рута и для остальных аккаунтов разный.

Активисту огромное спасибо. Остальным бы посоветовал ценить свое и других время и не утруждать себя на написание разной пустой херни которая отнимает время и у меня, и у Вас, ведь ее же надо Вам печатать, а мне прочитать.
 

Frol

Новичок
в "советские досовские времена" path "патчем" называли?
 

Фанат

oncle terrible
Команда форума
очередной гражданин, который пришел сюда учить остальных жизни.
тему закрываю
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху