Pereiti prie turinio

[PAGALBOS] PHP Serverio Duomenys


Rekomenduojami pranešimai

Sveiki iškilo problema. Esu nepatyres php tai ieškau pagalbos pas jus.

 

Turiu du failus. Vienas rodo serverio būklę pagrindiniame puslapyje kitas rodo išsamesnę kaip paspaudi ant serverio ir iškilo problema, kažkodėl pagrindiniame puslapyje nerodo jokių duomenų, tik serverio ip, bet paspaudus ant serverio rodo viską kuo puikiausiai. Dvi dienas bandžiau pats kaip nors susitvarkyti bet nepavyko.

 

Kaip supratau sistema turetu gauti informacija iš serverio ir siūsti ją į duomenu baze o tada ją gauti i php failą, nors ir serverio duomenis rodo, bet duomenų bazėje jų nėra...

 

 

 

 

 

-

 

 

Dėkoju už pagalbą.

Redagavo elefanteoff
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Manau jog:

<?=$row["cs_players"]?>

pakeisk į:

<? if(@$details['players'] == "") echo 0; else echo @$details['players']; ?>/<?if(@$details['max'] == "") echo 0; else echo @$details['max'];?>

 

<?=t($row['cs_map']);?>

pakeisti į:

<?if(@$details['map'] == "") echo '-'; else echo @$details['map']; ?>

Redagavo Havoc9
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Manau jog:

<?=$row["cs_players"]?>

pakeisk į:

<? if(@$details['players'] == "") echo 0; else echo @$details['players']; ?>/<?if(@$details['max'] == "") echo 0; else echo @$details['max'];?>

 

<?=t($row['cs_map']);?>

pakeisti į:

<?if(@$details['map'] == "") echo '-'; else echo @$details['map']; ?>

 

 

 

Kaip pakeičiau tas eilutes išvis nerodė :/

Redagavo elefanteoff
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Supranti kaip pridedi serveri irašai IP ir PORT. Nusiunčia viską į duomenų baze, bet prieš siunčiant turėtu iš serverio duomenis paimt kaip serverio hostname žaidėjų kiekis ir pnš, o po to vis atnaujint kas kažkiek laiko, bet jis nieko neyveda ir neatnaujinta tai nera ka traukt iš duomenu bazės... Bet va kaip paspaudi ant serverio ir kur rodo išsamią info ten jau siunčia informaciją tiesiai iš serverio todėl gal ir rodo gerai viską (Čia mano nuomonė apie šio skripto veikimą).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Supranti kaip pridedi serveri irašai IP ir PORT. Nusiunčia viską į duomenų baze, bet prieš siunčiant turėtu iš serverio duomenis paimt kaip serverio hostname žaidėjų kiekis ir pnš, o po to vis atnaujint kas kažkiek laiko, bet jis nieko neyveda ir neatnaujinta tai nera ka traukt iš duomenu bazės... Bet va kaip paspaudi ant serverio ir kur rodo išsamią info ten jau siunčia informaciją tiesiai iš serverio todėl gal ir rodo gerai viską (Čia mano nuomonė apie šio skripto veikimą).

O tai tikrinai ar i db ka nors iraso? Ir kur serverio pridejimo scriptas?

 

EDIT: Uzmeciau aki tai berods abu is db ima. Tyngiu ziuret cia ant nakties, bet paziurek ar nebus su tuo laiku kokios problemos ta prasme pamegink nutrinti

where vip_monitorius>='$dabartinis_laikas'

ten berods keliose vietose.

Redagavo north
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Arba gali tiesiog tiesiai nuo serverio paimti arba sukonfigūruoti, kad servas saugotu į bylą ir paimt iš bylos su php tiesiog į json gali išsaugoti ir pasiųst į javascript, arba tiesiog echo, bet su js gali integruoti jquery ir per ji įdėti paprastą ajax funkciją ir tada puslapio nereikės iš naujo krovinėti, nes galėsi duomenis paimti su $.post(): pvz.:

<?php
....
mysql_query(.....
....
?>

json_enc({"pavadinimas": "ratai", "batai", "kedai", "IP"}, {"verte": 2, 100, 15, "192.168.0.1"});
<html>
<head>
<script>
$("row").hover(function(){
$.post( "localhost/srvinfo/srvdata.php", function( data ) {
 $( ".result" ).fuction(data) {

    a[] = data;
    var eilutes_nr=1;
    $(".result").html("<table><thead><tr><th>"a["eilutes_nr": "pavadinimas"]+a["eilutes_nr": "verte"]"</tr></thead><tbody>");
    eulutes_nr++;
    while($(".result").html("<tr><td>"b"<td><td>"c"</td></tr>")&&eilutes_nr=a[].length){
        eilutes_nr++;
        b = a["eilutes_nr": "pavadinimas"];
        c = a["eilutes_nr": "verte"];
}
$(".result").html("</tbody></table>");
};
});
$(".result").show();
});
</script>
<head>
<body>
<table>
<thead><tr><th>Pavadinimas</th><th>Adresas</th><th>Žaidėjai</th><th>Žemėlapis</th></tr></thead>
<tbody><tr><td></td><td><?php $_SERVER['SERVER_ADDR':'SERVER_PORT']; ?>
<div class="result" style="display: none; color: white; background-color: black; z-index: 3; position: float;">
</div>
</td><td></td><td></td></tr>
</tbody>
<table>
</body>
</html>

 

Jei reikia pagalbos gali kreiptis ;-) Padėsiu. Į pm man parašyk. Čia pavyzdinis kodas, kaip maždaug tai turėtu atrodyti. Realiai jei cs kodas padarytas taip, kad naudoja MySQL ar taip kokį failą, tai dar paprasčiau, bet vistiek nesinori apkrauti servo perdaug ar pastoviai už krovinėti statinius objektus, geriau tik dinaminius. Realiai MySQL geriau dėl performance, nes viską kešina ir kelia į RAM, o failas, tai tik kai atidarai. Bet pastovus atidarinėjimas lagina, o mysql pastoviai užkrautas, tačiau ryja daugiau resursu pastoviai, bet tai priklauso ir nuo duombazės dydžio.

Redagavo Juslintek
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vidiniam naudojamas kodas, kuris rodo visą info

<?@$hlsocket = new HLSocket($row["ip_address"], $row["port"]);@$details = $hlsocket->details();?>

 

O duomenų bazėje tik ip su portų saugomas?

 

Kaip pridedi nauja serveri i duomenu baze surasomi toki duomenys.

http://www.part.lt/img/55a0b00e752c8068acb7bf54ce5b14eb259.png

 

 

Nors istikro turetu buti surasyti sie:

http://www.part.lt/img/72c87ccba3491e39186663f7e0720f6e178.png

 

 

34 eilutėj po while pasirašyk:

 

print_r($row);

 

 

 

ir parodyk ką gauni... tik atsikėlus perskaičiau kelis postus ir jau diena praskaidrėjo :D

 

 

Array ( [0] => 697 [ids] => 697 [1] => 284 [user] => 284 [2] => 81.88.254.27 [ip_address] => 81.88.254.27 [3] => 27023 [port] => 27023 [4] => Hns [type] => Hns [5] => cs [game] => cs [6] => [cs_hostname] => [7] => 0 [cs_players] => 0 [8] => 0 [cs_max] => 0 [9] => [cs_map] => [10] => 1 [cs_update] => 1 [11] => [vip_top] => [12] => [vip_line] => [13] => [vip_monitorius] => [14] => 1 [bonus] => 1 ) 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai gal but ir naudociau bet nemoku prisitaikyti. Viena vakar dar skripta isibandziau tai viskas veike su tuo paciu class failu tik nemoku prisitaikyt prie esamos sistemos:

<?
       error_reporting(E_ALL);
       require_once('test1.class.php');

       $hlsocket = new HLSocket('ip', 27016);
       $details = $hlsocket->details();
       echo $details['ip'];
       echo $details['hostname']; 
       $hlsocket->close();
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

16 puslapiu x 30 serveriu ~ 480

 

hmm kaip pasalinau beveik visus serverius corn failas suveike ir informacija atnaujino, bet dabar problema. Tai kaip padaryt kad duomenu baze neluzinetu? Nes vistiek serveriu bus daug ir neisvengsiu isjungtu serveriu.

Redagavo elefanteoff
Nuoroda į pranešimą
Dalintis kituose puslapiuose

16 puslapiu x 30 serveriu ~ 480

 

hmm kaip pasalinau beveik visus serverius corn failas suveike ir informacija atnaujino, bet dabar problema. Tai kaip padaryt kad duomenu baze neluzinetu? Nes vistiek serveriu bus daug ir neisvengsiu isjungtu serveriu.

php execution time nustatyk ilgesnį serveryje, bet čia blogas sprendimas. Geriau croną leisk kas kažkiek laiko dažnai ir updeitink tuos servus, kurių nespėja updatinti vienu metu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

php execution time nustatyk ilgesnį serveryje, bet čia blogas sprendimas. Geriau croną leisk kas kažkiek laiko dažnai ir updeitink tuos servus, kurių nespėja updatinti vienu metu.

 

Gal galėtum plačiau nes aš nemoku php kalbos (Tik šioki toki supratimą).

Gal maždaug bent jau paaiškintai kaip ta laika prailginti.

Ta cron faila idejau i ten kur serverius rodo tai dabar nuolat atnaujina tačiau kaip serveriu daug ju tiesiog neatnaujina nors tu ka.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...