Я хочу записать вывод команды в php файл. Но когда я открываю файл, пишется только одна строка вывода.
$myfile = fopen("status1.txt", "a+");
$cmd="asterisk -rx 'sip show peers'|greo OK";
$test1=system($cmd);
fwrite($myfile, $test1);
fclose($myfile);
ВЫХОД
1004 /1004 (Unspecified) D 0 OK
1005 /1005 (Unspecified) D N 0 OK
1006 /1006 (Unspecified) D N 0 OK
2501 /2501 (Unspecified) D 0 OK
2502 /2502 (Unspecified) D a 0 OK
2503 /2503 (Unspecified) D a 0 OK
2504 /2504 (Unspecified) D 0 OK
Но в файле написана только первая строка
Вы можете попробовать использовать функцию exec вместо системы
например
exec($cmd,scanme);
$scanme = implode("\n",$scanme);
exec (строка $ command [, массив &$ output [, int &$ return_var]])
Ваш случай:
$myfile = fopen("status1.txt", "a+");
$cmd="asterisk -rx 'sip show peers'|greo OK";
exec($cmd,$test1);
$test1 = implode("\n",$test1);
fwrite($myfile, $test1);
fclose($myfile);
Других решений пока нет …