我正在开发一个 PHP 项目,我正在使用 bash 脚本从 Linux 服务器获取一些信息。有一些服务,我需要首先显示它们是否正在运行。
这是第一个脚本(正在运行):
service=foo
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "Foo is not running"
else
echo "Foo is running"
fi
exit 0
这是用于显示该脚本结果的 HTML 内容:
<div class="foo_status">
<?php $foo_state = shell_exec("/var/www/cenk/services/foo_status.sh");
echo "$foo_state";
?>
<input type="submit" class="foo_run" value="Run"/>
<input type="submit" class="foo_stop" value="Stop"/>
<input type="submit" class="foo_restart" value="Restart"/>
</div>
我对 mysql 使用相同的代码和脚本,但没有显示任何内容。
Bash 脚本:
service=mysql
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "Mysql is not running"
else
echo "Mysql is running"
fi
exit 0
HTML 代码:
<div class="mysql_status">
<?php $mysql_state = shell_exec("/var/www/cenk/services/mysql_status.sh");
echo "$mysql_state";
?>
<input type="submit" class="mysql_run" value="Çalıştır"/>
<input type="submit" class="mysql_stop" value="Durdur"/>
<input type="submit" class="mysql_restart" value="Yeniden Başlat"/>
</div>
第一个看起来像:foo 正在运行“开始”“停止”“重新启动”
第二个看起来像:“开始”“停止”“重新启动”
最佳答案
根据评论,文件的权限不正确。
关于php - 几乎两个相同的代码但只有一个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21044254/