Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: PHP-Fusion galimybių padidinimas

Parašė Kižas· 2010 Kov. 31 18:03:57
#1

Šiandien radau toki straipsni kuris padidina jusu php fusiono puslapio resursus tai yra komentaru skaiciu,forumo pranesimu,saukiklos pranesimu ir t.t. Tai reisksia kad padidina ju atminti kad ateityje nereiktu ju trinti.Ir vat pasidares taip kaip cia raso zemiau pateikiau straipsni man nebeleidzia rasyti nei komentaru nei saukilos zinuciu t.y rodos kad butu uzpildyta viskas jei 1 zinute saukikloje istrinu tada leidzia rasyti 1 karta, o toliau vel nebeleidzia.

Stai tas straipsnis;

Pagal galimybes PHP-Fusion yra gana menka turinio valdymo sistema, tačiau ji turi tiek modifikacijų, įskiepių, dizainų, kad tas galimybes, apie kurias rašau šiame straipsnyje, padidinti tiesiog būtina.

Galbūt kai kas jau numanėte, kad bus kalbama apie vartotojų skaičių, žinučių skaičių forume, šaukyklos žinučių skaičių ir apie panašius dalykus. Taip, tai tikra tiesa. Mano tikslas yra parodyti, kaip padaryti, kad jūsų tinklalapyje galėtų užsiregistruoti ne iki 32767 narių ir parašyti ne vos 32767 žinutes forume, komentaruose, šaukykloje ar kur kitur, o bent jau iki begalybės praktiškai (o teoriškai iki 18446744073709551615). Pripažinkime, tie 32000 su kažkiek nėra tiek jau daug kaip galėtų atrodyti iš pirmo žvilgsnio. Kai jūsų portalas tampa lankomas, tuomet po kurio laiko prasideda įvairūs nulūžimai.

Kad tokių dalykų išvengtumėte, reikia krapštytis iš anksto. Tiesiog SMALLINT (5) tipą pakeiskime į BIGINT (20) UNSIGNED. Ši operacija užtikrins, kad artimiausius kelis šimtus metų (o gal ir daugiau - tikrai neskaičiavau) jūsų tinklalapis nebus užpildytas duomenimis.

Yra du būdai atlikti tokią operaciją. Pirmas būdas yra gana keblus - einate į phpMyAdmin, susirandate visas lenteles ir žiūrite, kurių laukeliai turi SMALLINT (5) tipą. Na ir jį rankiniu būdu pakeičiate kiekviename laukelyje, kiekvienoje lentelėje į BIGINT (20). Mazochisto džiaugsmas...

Bet yra ir daug paprastesnis būdas sutvarkyti šią problemą. Tiesiog pasinaudojate mano kodu ir viskas! Štai jis:

<?php

$database_name = '';
$r = dbquery("SHOW TABLES FROM $database_name");
$query = '';
while ($d = mysql_fetch_row($r)) {
   $table_name = $d[0];
   $result = dbquery("SHOW FIELDS FROM $table_name");
   $query .= "ALTER TABLE $table_name ";
   while ($d1 = mysql_fetch_row($result)) {
      if (eregi('smallint',$d1[1])) $query .= "MODIFY ".$d1[0]." BIGINT (20) UNSIGNED NOT NULL, ";
   }
   $query = substr($query,0,strlen($query)-2);
   $query .= ";\r\n";
}

$lines = explode("\r\n",$query);
for ($i = 0; $i < count($lines); $i++) {
   $line = trim($lines[$i]);
   if (eregi('MODIFY',$line)) $result = dbquery($line);
}

?>




Atkreipkite dėmesį į šią eilutę: $database_name = '';. Joje būtina nurodyti savo duomenų bazės pavadinimą. Pavyzdžiui, jeigu jūsų duomenų bazės pavadinimas yra blabla123, tai eilutę $database_name = ''; keičiate į $database_name = 'blabla123';. Jeigu duomenų bazė vadinasi bulbul123, tada $database_name = ''; keičiate į $database_name = 'bulbul123';. Manau, esmę supratote.

Dabar įdėmiai paskaitykite apie kodo paleidimą. Jį galite paleisti dviem būdais: per pridėtinius puslapius ir sukurdami naują failą. Kaip paleisti per pridėtinius puslapius, maždaug aišku: einate į administravimo pultą, spaudžiate "Pridėtiniai puslapiai", nurodote puslapio pavadinimą, į didesnį teksto lauką nukopijuojate mano kodą ir spaudžiate "Peržiūra" mygtuką. Antrasis būdas yra kiek labiau komplikuotas. Norėdami paleisti kodą per failą, pirmiausia turite atlikti šį veiksmą: po <?php eilute prirašyti include "maincore.php";. Juk turi būti sukurtas MySQL prisijungimas ir aprašytos PHP-Fusion MySQL duomenų bazės valdymo funkcijos. Tuomet naująjį kodą išsaugote php formatu bet kokiu pavadinimu, pavyzdžiui: as_ne_mazochistas.php. Sukurtą failą talpinate per FTP naršyklę arba kitokią tinklalapio bylų tvarkymo priemonę. Svarbiausia, kad įkeliamas failas būtų ten pat, kur yra ir maincore.php. Kai įkelsite failą į tinklalapį, tuomet jį atsidarykite per naršyklę, pavyzdžiui: http://manosaitas.blabla.nene.te...istas.php. Atsidarote failą ir VISKAS! Štai ir jūsų PHP-Fusion tinklalapio galimybės MySQL atžvilgiu smarkiai padidintos daugybę kartų (maždaug 563 trilijonus kartų).

Tikiuosi, viskas, ką parašiau, jums buvo aišku ir suprantama. Jeigu kils neaiškumų, klauskite komentaruose. Mėginsiu jums į užduotus klausimus atsakyti.

Tai vat dabar klausimas kaip man atgal sugrazinti SMALLINT (5) reiksme kad eitu vel rasyti komentarus ir t.t.??
Mano fusiono versija 6

Redagavo Kižas· 2010 Kov. 31 18:03:15