Я пытаюсь запустить команду rate -c 192.168.122.0/24 на моем компьютере Centos и записать вывод этой команды в текстовый файл с помощью команды shell_exec('rate -c 192.168.122.0/24');все еще не повезло !!
rate -c 192.168.122.0/24
shell_exec('rate -c 192.168.122.0/24')
Если вам не нужен PHP, вы можете просто запустить его в оболочке:
rate -c 192.168.122.0/24 > file.txt
Если вам нужно запустить его из PHP:
shell_exec('rate -c 192.168.122.0/24 > file.txt');
">"символ перенаправляет вывод команды в файл.
Как вы забыли упомянуть, ваша команда предоставляет нескончаемый поток вывода .Чтобы прочитать вывод в реальном времени, вам нужно использовать popen .
Пример с сайта PHP:
$handle = popen('/path/to/executable 2>&1', 'r'); echo "'$handle'; " . gettype($handle) . "\n"; $read = fread($handle, 2096); echo $read; pclose($handle);
Вы можете прочитатьобрабатывать вывод как файл.
Вы также можете получить вывод через PHP, а затем сохранить его в текстовом файле
$output = shell_exec('rate -c 192.168.122.0/24'); $fh = fopen('output.txt','w'); fwrite($fh,$output); fclose($fh);
$path_to_file = 'path/to/your/file'; $write_command = 'rate -c 192.168.122.0/24 >> '.$path_to_file; shell_exec($write_command);
надеется, что это поможет.: D И это направит вас к хорошему пути.https://unix.stackexchange.com/a/127529/41966