shell_exec返回null - 监视linux服务

时间:2013-03-31 07:20:23

标签: php linux service monitoring shell-exec

我需要监控我的Linux服务器没有shell的服务,我写了一个新的PHP脚本,它执行此功能。运行后,脚本不写服务状态。 例如 - 如果我在终端中写这个命令 -

service nginx status |awk '{print $4}

他回到我的结果:

Run...

这个脚本:

<?php
$nginx = shell_exec("service nginx status |awk '{print $4}'");
$bd = shell_exec("service mysqld status |awk '{print $4}'");
$jabber = shell_exec("service ejabberd status |awk '{print $4}'");
$cgi = shell_exec("service php-fpm status |awk '{print $4}'");
$mem = shell_exec("service memcached status |awk '{print $4}'");
echo "<b>Web-server nginx:</b> $nginx";
echo "<br>";
echo "<b>Server MySQL:</b> $bd";
echo "<br>";
echo "<b>Server Jabber Jabber:</b> $jabber";
echo "<br>";
echo "<b>Service php-fpm:</b> $cgi";
echo "<br>";
echo "<b>Service memcached:</b> $mem";
?>

如果通过php执行此操作,则所有'$'函数都会返回有关服务状态的空信息。 如何正确编写此脚本?请帮助:)

1 个答案:

答案 0 :(得分:2)

使用service命令的完整路径,因为它所在的目录不在Web服务器的默认$PATH中。