2
쉘없이 내 리눅스 서버의 모니터링 서비스가 필요하며이 기능을 수행하는 새로운 PHP 스크립트를 작성합니다. 실행 후 스크립트는 서비스 상태를 기록하지 않습니다. 내가 터미널에서이 명령을 작성하는 경우 - - 예를 들어 shell_exec return null - 리눅스 서비스 모니터링
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를 통해이 작업을 수행 할 경우, 모든 '$'함수는 서비스 상태에 대한 빈 정보를 반환합니다. 이 스크립트를 올바르게 작성하는 방법은 무엇입니까? 제발 도와주세요 :)
아마도'service' 명령이 웹 서버의'$ PATH '에 없기 때문에 명령의 전체 경로를 사용해보십시오. – Barmar
고마워요! /etc/init.d/service status 명령이 작동합니다! – user2202533