我需要监控我的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执行此操作,则所有'$'函数都会返回有关服务状态的空信息。 如何正确编写此脚本?请帮助:)
答案 0 :(得分:2)
使用service
命令的完整路径,因为它所在的目录不在Web服务器的默认$PATH
中。