Не могу решить проблему, возможно кто-то из вас знает в чем проблема.
Вызываю через exec, passthru и т.д. консольную команду /sbin/tc .
Прав у пользователя хватает на вызов команды, команду находит, пути полные.
Если исполняю php файл консольно, например вот так:
/usr/bin/php -f command.php
исполнение команды происходит и возвращается результат (вывод).
Если же этот скрипт запускаю из браузера - постоянно возвращается пустота, и не имеет значения какой функцией вызывать.
Тестировал запуск этой же команды (запуская из браузера) под рутом - эффект аналогичный, пустота.
В чем может быть проблема ? как получить вывод этой команды из браузера ?
P.S. Пробовал создавать .sh файл и вызывать его, проблема осталась.
Спустя 1 час, 24 минуты, 27 секунд (28.03.2011 - 19:51) alex12060 написал(а):
Смотри, ты выполняешь из под кого? Из под юзера, который может это делать. А по умолчанию на апач стоит группа www-data, она не может выполнять программы ТАКОГО уровная, как пасстхру.
Либо, пробуй менять права на программу, или прогой chown, либо отказаться от использования оной.
Либо, пробуй менять права на программу, или прогой chown, либо отказаться от использования оной.
Спустя 53 минуты, 52 секунды (28.03.2011 - 20:44) UnVisibleNet написал(а):
Да вот исполняет. passthru исполняет команду 100%... И пользователь тут роли не играет.
Средствами настройки sudo я разрешил исполнять команды от root для пользователя www-data.
Тестировал алгоритмом:
1. Запускаю файл start.php через браузер.
2. В файле start.php стартует скрипт:
passthru("sudo -u root /usr/bin/php -f comand.php");
3. Файл comand.php показывает пользователя который его запустил и дальше пытается исполнить /sbin/tc..
Результат работы comand.php:
root
0
Тоесть функция работает, скрипт запустился от рута, но так как он из браузера запущен, вторая команда вернула снова пустоту
Средствами настройки sudo я разрешил исполнять команды от root для пользователя www-data.
Тестировал алгоритмом:
1. Запускаю файл start.php через браузер.
2. В файле start.php стартует скрипт:
passthru("sudo -u root /usr/bin/php -f comand.php");
3. Файл comand.php показывает пользователя который его запустил и дальше пытается исполнить /sbin/tc..
Результат работы comand.php:
root
0
Тоесть функция работает, скрипт запустился от рута, но так как он из браузера запущен, вторая команда вернула снова пустоту

Спустя 17 минут, 33 секунды (28.03.2011 - 21:02) alex12060 написал(а):
Пардон, перепутал с линуховской прогой)
Покажи код command.php
Покажи код command.php
Спустя 12 минут, 10 секунд (28.03.2011 - 21:14) UnVisibleNet написал(а):
passthru("whoami", $execute_result);
echo "$execute_result <br>";
passthru("/sbin/tc", $execute_result);
echo "$execute_result <br>";
Спустя 13 минут, 40 секунд (28.03.2011 - 21:28) alex12060 написал(а):
А что должна вывести программа tc?
Спустя 25 минут, 17 секунд (28.03.2011 - 21:53) UnVisibleNet написал(а):
Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
tc [-force] -batch filename
where OBJECT := { qdisc | class | filter | action | monitor }
OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
Спустя 8 минут, 24 секунды (28.03.2011 - 22:01) UnVisibleNet написал(а):
Вопрос закрыт, извините что потревожил 
Оказалось проблемы и не было... Просто при вызове php скрипта из консоли, он как то по своему обрабатывался и выводил стандартный хелп, как будто б мы запускали без пхп просто в консоли.
А вот если запускать из браузера - он возвращал пустоту. Но если утилиту вызвать с правильными параметрами - возвращает вполне адекватный результат
А я тут уже пол инета перелазил)... все настройки перековырял

Оказалось проблемы и не было... Просто при вызове php скрипта из консоли, он как то по своему обрабатывался и выводил стандартный хелп, как будто б мы запускали без пхп просто в консоли.
А вот если запускать из браузера - он возвращал пустоту. Но если утилиту вызвать с правильными параметрами - возвращает вполне адекватный результат

А я тут уже пол инета перелазил)... все настройки перековырял

Спустя 2 минуты, 55 секунд (28.03.2011 - 22:04) alex12060 написал(а):
Да, я только написать хотел про это)
Эти штуки он никогда в браузер невыведет)
Все, окей, я аж сам испугался)
Эти штуки он никогда в браузер невыведет)
Все, окей, я аж сам испугался)