Результат выполнения exec(). Как?

Buldozer

Новичок
Результат выполнения exec(). Как?

Добрый день,

Есть подобный сценарий:
PHP:
#!/usr/local/bin/php -q

<?php

exec("pw useradd nu3 -c 'test' -s csh -m");

?>
Если я его буду выполнять из консоли, то получу ответ в духе «pw: login name `nu3' already exists», либо подобное. Если я его выполняю через веб-сервер, то никакого ответа не выдается(хотя команда отрабатывает).

Если использую аргументы array output и int return_var из мануала, то последний выдает какой-то код, который мне не нужен, а первый пустой массив.

Что можно сделать?
 

Buldozer

Новичок
дело в том, что например результат выполнения ls ложиться в array output, а с указанной выше командой почему то такой вариант не проходит.
 

Tor

Новичок
продолжать читать мануал
exec() executes the given command, however it does not output anything. It simply returns the last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.
 

Buldozer

Новичок
Ну во первых ничего подобного, вот пример когда exec() выводит все строки:
PHP:
#!/usr/local/bin/php -q

<?php

echo exec("ls", $mas);

print_r($mas);

?>
а во вторых, pw useradd при любом раскладе больше одной строки не выплюнет.

-~{}~ 03.05.06 17:52:

P.S. С passthru такая же проблема.
 
Сверху