Dynadot .com Transfer Sale โ€” only $10.49, coupon COMSUMMER26

Have your own service status script! (CPANEL, PHP)

Namecheap AuctionsNamecheap Auctions
SpaceshipSpaceship
SpaceshipSpaceship
Watch
this script is designed for users with there own host running cpanel with php

demo can be seen here
http://www.intentio-server.com

the code:
PHP:
<?php
/*
*   +------------------------------------------------------------------------------+
*       CPANEL STATUS SCRIPT                                                               
*   +------------------------------------------------------------------------------+
*       Copyright Notice(s)                                                        
*   +------------------------------------------------------------------------------+
*       Disclaimer Notice(s)                                                         
*       ex: This code is freely given to you and given "AS IS", SO if it damages     
*       your computer, formats your HDs, or burns your house I am not the one to
*       blame.                                                                    
*       Moreover, don't forget to include my copyright notices and name.              
*   +------------------------------------------------------------------------------+
*       Author(s): Crooty.co.uk (Adam C)                                   
*   +------------------------------------------------------------------------------+
*/ 

$data .= "
<style>
td,body
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 8pt;
	color: #444444;
}
</style>
<br>
    <center>
     <div style=\"border-bottom:1px #999999 solid;width:480;\"><b>
       <font size='1' color='#3896CC'>Service Status</font></b>
     </div> 
   </center>
<br>";

//configure script
$timeout = "1";

//set service checks
$port[1] = "80";       $service[1] = "Apache";                  $ip[1] ="";
$port[2] = "21";       $service[2] = "FTP";                     $ip[2] ="";
$port[3] = "3306";     $service[3] = "MYSQL";                   $ip[3] ="";
$port[4] = "25";       $service[4] = "Email(POP3)";             $ip[4] ="";
$port[5] = "143";      $service[5] = "Email(IMAP)";             $ip[5] ="";
$port[6] = "2095";     $service[6] = "Webmail";                 $ip[6] ="";
$port[7] = "2082";     $service[7] = "Cpanel";                  $ip[7] ="";
$port[8] = "80";       $service[8] = "Internet Connection";     $ip[8] ="google.com";
$port[9] = "2086";     $service[9] = "WHM";                     $ip[9] ="";

//
// NO NEED TO EDIT BEYOND HERE 
// UNLESS YOU WISH TO CHANGE STYLE OF RESULTS
//

//count arrays
$ports = count($port);
$ports = $ports + 1;
$count = 1;

//beggin table for status
$data .= "<table width='480' border='1' cellspacing='0' cellpadding='3' style='border-collapse:collapse' bordercolor='#333333' align='center'>";

while($count < $ports){

	 if($ip[$count]==""){
	   $ip[$count] = "localhost";
	 }

		$fp = @fsockopen("$ip[$count]", $port[$count], $errno, $errstr, $timeout);
		if (!$fp) {
			$data .= "<tr><td>$service[$count]</td><td bgcolor='#FFC6C6'>Offline </td></tr>";
		} else {
			$data .= "<tr><td>$service[$count]</td><td bgcolor='#D9FFB3'>Online</td></tr>";
			fclose($fp);
		}
	$count++;
fclose($fp);

} 

//close table
$data .= "</table>";

echo $data;
?>

installation: copy to web server THATS IT!

should be fairly self explanitry

to include on your website you can either link to it your use include(); (if you use include remember to rename the extention to .php)

lemme know what you think :)

i made it so it saves me logging into cpanel to check what the servers up to and thought id share it


UPDATE:
if you wish to display server uptime and server loads on the script add this to the code (REMEMBER: it must be placed inside the <? and ?> for it to work

PHP:
//
// SERVER INFORMATION
//

$data1 .= "
<br>
    <center>
     <div style=\"border-bottom:1px #999999 solid;width:480;\"><b>
       <font size='1' color='#3896CC'>Server Information</font></b>
     </div> 
   </center><BR>";

$data1 .= "<table width='480' border='1' cellspacing='0' cellpadding='3' style='border-collapse:collapse' 

bordercolor='#333333' align='center'>";

//GET SERVER LOADS
$loadresult = @exec('uptime'); 
preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$loadresult,$avgs);


//GET SERVER UPTIME
  $uptime = explode(' up ', $loadresult);
  $uptime = explode(',', $uptime[1]);
  $uptime = $uptime[0].', '.$uptime[1];

$data1 .= "<tr><td>Server Load Averages </td><td>$avgs[1], $avgs[2], $avgs[3]</td>\n";
$data1 .= "<tr><td>Server Uptime        </td><td>$uptime                     </td></tr>";
$data1 .= "</table>";
echo $data1;

B-)
 
Last edited:
1
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
GoDaddyGoDaddy
Warning: fclose(): supplied argument is not a valid stream resource in /home/username/public_html/status.php on line 71

That is the one error I recieve now when I run the script
 
0
•••
Great.
I am gonna use it.
Thanks a lot.
 
0
•••
xeserve i realy don't know what's going on...maybe some of your server configuration, the script works fine
 
0
•••
glad it helps guys :)

i might rebuild soon and make it a bit nicer to use :D
 
0
•••
I tried Last posted code but i dont get server uptime and load status.....

With first code posted in first post i got error with fscopen...
Is there any new code of this GREAT status script??

THnx
 
0
•••
I just use the following:

PHP:
<?PHP system('uptime'); ?>

Gives out; server time, uptime, users, and load averages.

- Vince
 
0
•••
you can even simplify it to:
PHP:
<?=`uptime`?>
when you just want the uptime/load etc. :P


nice script btw.
 
0
•••
Ok, well..was bored so I thought I'd mess around w/this script :) Here's what I ended up with...
PHP:
<?php

/*
*   +------------------------------------------------------------------------------+
*       CPANEL STATUS SCRIPT
*   +------------------------------------------------------------------------------+
*       Copyright Notice(s)
*   +------------------------------------------------------------------------------+
*       Disclaimer Notice(s)
*       ex: This code is freely given to you and given "AS IS", SO if it damages
*       your computer, formats your HDs, or burns your house I am not the one to
*       blame.
*       Moreover, don't forget to include my copyright notices and name.
*   +------------------------------------------------------------------------------+
*       Author(s): Crooty.co.uk (Adam C)
*   +------------------------------------------------------------------------------+
*/

// Configure script 
$timeout = 1; 

// Set service checks 
$port[1]    = 80;
$service[1] = 'Apache';
$ip[1]      = '';

$port[2]    = 21;
$service[2] = 'FTP';
$ip[2]      = '';

$port[3]    = 3306;
$service[3] = 'MYSQL';
$ip[3]      = '';

$port[4]    = 25;
$service[4] = 'Email(POP3)';
$ip[4]      = '';

$port[5]    = 143;
$service[5] = 'Email(IMAP)';
$ip[5]      = '';

$port[6]    = 2095;
$service[6] = 'Webmail';
$ip[6]      = '';

$port[7]    = 2082;
$service[7] = 'Cpanel';
$ip[7]      = '';

$port[8]    = 80;
$service[8] = 'Internet Connection';
$ip[8]      = 'google.com';

$port[9]    = 2086;
$service[9] = 'WHM';
$ip[9]      = '';

//
// NO NEED TO EDIT BEYOND HERE UNLESS YOU WISH TO CHANGE STYLE OF RESULTS
//

?>
<html>
<head>
<title>Service Status</title>
<style type="text/css">
<!--

td, body
{
  font-family: Arial, Helvetica, sans-serif;
  font-size: 8pt;
  color: #444444;
}

.status_header
{
  border-bottom: 1px solid #999999;
  width: 480;
  color: #3896CC;
}

.status_table
{
  border: 1px solid #333333;
  border-collapse: collapse;
  width: 480;
}

td
{
  border: 1px solid #333333;
}

.online
{
  background-color: #D9FFB3
}

.offline
{
  background-color: #FFC6C6;
}

-->
</style>
</head>

<body>

<br />
<center>
  <div class="status_header"><strong>Service Status</strong></div>
</center>
<br />

<table class="status_table" cellspacing="0" cellpadding="3" align="center">
<?php 

// Count arrays
$ports = count($port) + 1;
$count = 1;

while ($count < $ports)
{
    if ($ip[$count] == '')
    {
        $ip[$count] = 'localhost';
    }

    $fp = @fsockopen($ip[$count], $port[$count], $errno, $errstr, $timeout);

    if (!$fp)
    {
        echo "<tr>\n  <td>{$service[$count]}</td>\n  <td class=\"offline\">Offline</td>\n</tr>\n";
        fclose($fp);
    }
    else
    {
        echo "<tr>\n  <td>{$service[$count]}</td>\n  <td class=\"online\">Online</td>\n</tr>\n";
        fclose($fp);
    }
    $count++;
}

//
// SERVER INFORMATION
//
?>
</table>

<br />
<center>
  <div class="status_header"><strong>Server Information</strong></div>
</center>
<br />

<table class="status_table" cellspacing="0" cellpadding="3" align="center">

<?php

// GET SERVER LOADS
$loadresult = @exec('uptime');
preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/", $loadresult, $avgs);

// GET SERVER UPTIME
$uptime = explode(' up ', $loadresult);
$uptime = explode(',', $uptime[1]);
$uptime = $uptime[0] . ', ' . $uptime[1];

echo "<tr>\n  <td>Server Load Averages</td>\n  <td>$avgs[1], $avgs[2], $avgs[3]</td>\n</tr>\n<tr>\n  <td>Server Uptime</td>\n  <td>$uptime</td>\n</tr>\n"; 

?>
</table>

</body>
</html>
 
Last edited:
0
•••
I cant still get uptime, and server load, using the latest post hier.

OS: Centos with CPANEL and Fantastico

Hier is imag of what i get in attachment...
 
Last edited:
0
•••
crow said:
I cant still get uptime, and server load, using the latest post hier.

OS: Centos with CPANEL and Fantastico

Hier is imag of what i get in attachment...


possibly your php installation is causing the trouble.

you need to have the exec() function enabled to run the uptime command.

see line:
PHP:
//GET SERVER LOADS 
$loadresult = @exec('uptime');
 
0
•••
This looks good, thank you :)
 
0
•••
0
•••
what code did you tried?
there are several versions here...
 
0
•••
JFS said:
what code did you tried?
there are several versions here...

Fixed it but it shows my mysql is doqn when its up i am running a few sites on mysql and they are working right now.
 
0
•••
I'm seeing offline for your MySQL :D
 
0
•••
tanfwc said:
I'm seeing offline for your MySQL :D

Yes thats the prob my sql is not offline its online its working.

EDIT: Contacted my datacenter they said they have closed the mysql port for security they said it was a high risk, any one know a way around this?
 
Last edited:
0
•••
a easy way is to connect to the database normally, if it can connect then it would show the MySql online if not it would show offline
 
0
•••
Last edited:
0
•••
blimey, is this topic still going? O_o

This got more interest than I expected, sorry for the errors you guys have been getting. I was pretty new to PHP when I developed this for the first time.

I have started work on another version of this which I will hopefully finish tonight and get uploaded for you all to view some time tomorrow. Again the first script was very basic and I have been working to keep it as basic as possible again.

Im glad people have found it usefull :)
 
0
•••
0
•••
Appraise.net
Escrow.com
Spaceship
Domain Recover
CryptoExchange.com
Catchy
URLs.com
NameFit
  • The sidebar remains visible by scrolling at a speed relative to the pageโ€™s height.
Back