Я пытаюсь создать несколько php-скриптов, которые будут запускаться, среди прочего, такими системными вызовами, как top и другие пользовательские скрипты. Вы можете увидеть код ниже очень просто. Проблема, с которой мы сталкиваемся с php ниже, заключается в том, что когда я вызываю php из приглашения linux, например:
#php checkTOP.php
это вернет вывод top -n 1 на экране без проблем.
Когда я запускаю скрипт с веб-сервера, используя http://url.com/checkTOP.php, он возвращает только следующее:
программа: / usr / bin / top -n 1 ver1 =
retval = 1 возвращается не ноль
Какие мои отладочные операторы.
<?php
$program="/usr/bin/top -n 1";
echo "program:{$program}<br /> \n";
$ver1=system($program,$retval);
echo "ver1 = {$ver1}<br />\n";
echo "retval = {$retval}<br /> \n";
if($retval==0)
{
echo "Returned 0<br />\n";
}
else
{
echo "Returned not zero <br />\n";
}
die;
?>
Изменение 1: еще одна вещь. Все разрешения установлены правильно / usr / bin / top установлен root: apache с rxrxrx, а также все каталоги /usr/bin.