显示树莓派状态信息的PHP页面

将下面的代码复制下来保存为php页面,访问这个页面就能查看实时的树莓派状态信息了。原理是打印shell_exec的结果。

<?php
    /**
    * state
    *
    * @package custom
    */
?>
	<article class="content">
	<section class="post">
		<div id='server_state'>
			<h5>uname -a</h5>
			<pre><?php echo shell_exec("uname -a"); ?></pre><br/>
    
			<h5>Uptime</h5>
			<pre><?php echo ltrim(shell_exec("uptime"), " "); ?></pre><br/>
    
			<h5>cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq </h5>
			<pre>
				<?php
					$t = shell_exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
        	echo sprintf("%s/1000=%sKHz", str_replace("\n", "", $t), $t/1000);
				?>
			</pre><br/>
    
			<h5>cat /sys/class/thermal/thermal_zone0/temp </h5>
			<pre>
				<?php
					$t = shell_exec("cat /sys/class/thermal/thermal_zone0/temp");
        echo sprintf("%s/1000=%sC°", str_replace("\n", "", $t), $t/1000);
       ?>
      </pre><br/>
    
			<h5>free -h</h5>
			<pre><?php echo shell_exec("free -h"); ?></pre><br/>
    
			<h5>cat /proc/cpuinfo</h5>
			<pre><?php echo shell_exec("cat /proc/cpuinfo"); ?></pre>
</div>

via



8 评论

    • 空白有两个原因,第一:权限问题,当你访问这个页面的时候,是以当前执行php用户的身份去访问的,例如nginx用户是www,这个用户权限肯定不够。第二:php安全问题,php会把这些shell_exec这一类的可以调用脚本的功能给禁掉,你需要修改php.ini配置文件。

    • 可以执行,但是你要给执行php的用户root权限,具体你可以参考我上面的回复,点击头像可以去我的博客找到一些解答。

发表评论

你的邮件地址不会公开


*