我想找到全职连接的服务器的平均负载,我使用了以下代码,但在显示运行时间时出错。请有人帮我解决这个。。。
这是代码
<?php
$ip = '192.168.71.56';
$user = 'viju';
$pass = 'viju';
$connection = ssh2_connect($ip);
if($connection)
{
echo "connection successful";
}
else
{
echo "connection failed";
}
if(!(ssh2_auth_password($connection,$user,$pass)))
{
echo "Authentication Failed";
}
else
{
echo "Authentication Successful";
$shell = ssh2_shell($connection,"uptime");
if($shell)
{
$loadAvgString=explode('average:',$shell); //line 26
print_r($loadAvgString);
$loadAvgInAnArray=explode(',',$loadAvgString);
print_r($loadAvgInAnArray);
}
else
{
echo "No data fetched";
}
}
?>
我得到以下警告输出
连接成功身份验证成功警告:explode()要求参数2为字符串,在第26行的/var/www/extra/dis.php中给定资源Array([0]=>)
爆炸的第二个参数必须是使用字符串分隔符连接的字符串。只需打印$shell变量并检查它是否包含字符串即可。
您应该检查$shell是否包含某些内容,而不是它是否是真正的
if (!empty($shell)) {
...
}
甚至更好的
if (strstr($shell, "average:")) {
...
}