Эта команда вернет скорость загрузки сервера в MB/s:
awk '{if(l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}' <(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)
Он отлично работает через терминал Linux/SSH, но когда я использую system()
, exec()
или shell_exec()
, он просто показывает мне:
# php -q geturate.php
sh: 1: Syntax error: "(" unexpected
Мой исходный код php:
<?php
$command = 'awk \'{if(l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}\' <(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)';
$result = system($command);
echo $result;
?>
Как запустить эту команду через php?
Версия php на сервере: 5.6
Небольшая система смены бит вместо использования exec в php
<?php
$command = 'awk \'{if(l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}\'
<(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)';
$result = exec($command);
echo $result;
?>
$result = system(escapeshellcmd($command));
( php.net/manual/en/function.escapeshellcmd.php ), которая должна гарантировать, что команда не будет неправильно интерпретирована.PHP Parse error: syntax error, unexpected '{' in geturate.php on line 2