Jump to content
Sign in to follow this  
Graf

[WEB]Статистика сервера

Recommended Posts

Добрый вечер. Как-то давно меня очень интересовала статистика сервера. Она была лишь на платных сайтах. Так вот...

P.S. Думаю все могут посмотреть таблицы в БД, чтобы узнать название... 

<?php 
error_reporting(E_ALL);	/*начиная с этой строки */
ini_set('display_startup_errors', 1);
ini_set('display_errors', '1'); /* и заканчивая этой - вывод ошибок. Если у вас появились ошибки - они выведутся на сайте. */
$host     = "IP"; 
$username = "Login DB"; 
$password = "Password DB"; 
/*$username, $host, $password и тому подобное - переменные, в которые мы записываем что-нибудь. В данные три переменные мы записали данные для подключения к БД */
$connection = @mssql_connect($host,$username,$password) or die("Can`t connection server!");	/*Здесь мы проверяем подключение в БД. Если оно отсутствует - мы увидим "Can`t connection server!" */

$resacc= @mssql_query('SELECT name FROM AccountServer.dbo.account_login');	/*Из базы данных AccountServer мы берем таблицу account_login */
$acc_num = mssql_num_rows($resacc); 	/*Узнаем количество строк в таблицу account_login */

$whoseonline = @mssql_query('SELECT * FROM gamedb.dbo.character WHERE mem_addr > 0');	/*Из БД GameDB берем имена персонажей, где mem_addr > 0, то есть которые онлайн */
$online = mssql_num_rows($whoseonline);	/*Узнаем количество строк с персонажами, которые онлайн, чтобы вывести онлайн на сервере. */

?> 
<!DOCTYPE html>
<html lang="ru">
<head>
  	<!--Подключаем русский язык-->
    <meta charset="UTF-8">
</head>
<body>
        <b>Статистика</b>
        <br /> Аккаунты - <?=$acc_num;?>	<!--Таким образом мы выводим значения полученных переменных-->
        <br /> Онлайн - <?=$online;?>
  </body>
</html>
    

P.S.S. Чтобы заработал код, используйте PHP не более 5.6 версии.

Edited by Graf

Share this post


Link to post
Share on other sites

Я бы внес корректировку мелкую:

<?
$debug = 0; // 1 - включить дебаг, 0 - выключить
if (!empty($debug)){
error_reporting(E_ALL);	/*начиная с этой строки */
ini_set('display_startup_errors', 1);
ini_set('display_errors', '1'); /* и заканчивая этой - вывод ошибок. Если у вас появились ошибки - они выведутся на сайте. */
} else {
error_reporting(0);
}
...

На бою (на рабочем сайте), лучше не выводить ошибки.

 

P.S. знак @ перед функцией, означает что по ней вывода ошибки не будет. По-этому, советую тоже убрать. Иначе, дебаг будет не полным.

Edited by Chudik

Share this post


Link to post
Share on other sites

Привет, @Graf!

 

Хочу дать несколько советов:

1. Ты используешь устаревшие функции mssql_******(), которые удалены в новых версиях PHP (7.0.0 и выше). Сегодня лучше использовать интерфейс PDO;

2.  При каждом выполнении твоего скрипта будет выполнено несколько запросов к MSSQL-серверу. Чтобы снизить на сервер нагрузку, можно применить кеширование, т.е. обновлять статистику, например, раз в час;

3. При работе с MSSQL-сервером могут возникать разные ошибки, их лучше проверять и обрабатывать. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×