Taigi, Laikas.lt jau turi naująjį, ilgai lauktą PhpBB3, kuris šiuo metu jau tapo bene tobuliausia pasauly forumų programa, pakeisdamas bene populiariausią, nors gal ir ne galingiausią PhpBB2.
Naujų galimybių daug, nemažai iš jų - ilgai lauktos, tokios, kaip gimtadienių palaikymas, daugelio lygių forumai, etc..
Bene didžiausi įdomumai - forumo migracijos galimybės iš PhpBB-2 versijos į PhpBB-3. Jei jūsų forumas bus nedidelis (keli tūkstančiai pranešimų, vienas kitas paveiksliukas), sistema viską atliks automatiškai: pirmame etape jūs tiesiog suinstaliuojate forumą, o antrame etape jums pasiūlo paimti seno forumo duomenis ir juos gražiai susiurbia. Tada belieka atjungti senąjį forumą ir įjungti naująjį. Viskas skaidru ir gražu...
Deja, jei tik forumas didesnis, kyla kraupios problemos (panašu, kad PhpBB kūrėjai ir testuotojai tiesiog nebandė daryti migracijų su didesnėmis, nei bandomosios, sistemomis). Pirmoji problema - skriptų vykdymo laikas. Skriptai vykdomi minutes laiko, todėl suveikia visokios PHP vykdymo bei Apache apsaugos. Dauguma didesnių forumų savininkų paprasčiausiai gauna tuščius atsakymų puslapius arba pranešimus apie pernelyg ilgą vykdymo laiką. Šitas problemas išspręsti galima tik vienu atveju: jei valdome nuosavą serverį, nes reikia kaitalioti serverio nustatymus. Taigi, tokiu atveju greičiausiai viską reiks persikelt į savo kompiuterį ar kitą, savo valdomą serverį (jei ką, paieškokit tokių paketų, kaip easyphp, WAMP ar pan.). Beje, šiaip pastebėjimas - instaliuodami, būtinai sugalvokite kitokius DB prefiksus forumui, kad naujos lentelės skirtųsi nuo senojo phpBB2.
Taigi, galima pasidaryti visos forumo duomenų bazės dumpą: mysqldump -u username -ppassword dbname > dbdump.sql Gautą failą persikeliame pas save: mysql -u username -ppassword dbname < dbdump.sql
Paleidžiame su gauta duomenų baze senąjį phpBB2 ir žiūrime, ar veikia - jei viskas gerai, galim instaliuotis phpBB3.
Po instaliacijos pradedam daryti konversiją, o tada prasideda bardakai (klaidų pranešimai, tušti puslapiai ir pan..). Tada einame į Apache nustatymus (httpd.conf) ir keičiame parametrus: KeepAliveTimeout = 3000 Timeout = 3000 Panašiai pakeičiame ir PHP nustatymus (php.ini): max_execution_time = 3000 max_input_time = 3000 Dabar skriptų rezultatų teks laukti ilgai... Nes jie vykdomi ILGAI. Tačiau jie veiks. Jei lys tokios klaidos, kaip ir anksčiau, skaičius dar padidinkite. Visos problemos - dėl to, kad vykdymo laikas yra tragiškai didelis, Laikas.lt skriptams jis sudarė sumoje kelias valandas, net neskaitant mygtukų spaudymo ir kitokių darbų (Laikas.lt forumo duomenų bazė nėra didelė - apie 120 megabaitų, tačiau daug paveiksliukų - daugiau, nei 4 gigabaitai).
Taigi, skriptas viską sukonvertuoja ir ima veikti PhpBB-3. Jei viskas vyko ant to paties serverio, tuo ir galime užbaigti, o jei ne - galima keilti viską į naują serverį. Štai čia gali parasidėti dar vienas problemų etapas: phpBB2 naudodavo forumui vienbaitį kodavimą (pvz., cp1257 ar kitą - tokį, koks nustatytas MySQL serveryje), o phpBB3 naudoja UTF-8. Tai, žinoma, gerai, tačiau jei MySQL serveriai skiriasi, perkėlus dumpą į serverį, vietoj lietuviškų raidžių telieka klaustukai. Ši problema pagal savo kilmę susijusi ne su phpBB, o su MySQL (daugeliui jau tekę dėl to pavargti), tačiau phpBB kūrėjai nutarė šią bėdą ignoruoti (beje, toks ignoravimas itin būdingas anglakalbiams). Taigi, gali tekti visą DB sukonvertuoti. Pirmiausiai dumpe paieškokit lietuviškų žodžių kokiu nors teksto redaktoriumi (tik ne windows notepad, o kokiu nors, kuris rodo visus baitus, kaip yra). Jei vietoj lietuviškų raidžių matote du simbolius - viskas tvarkoj, koduotė jau yra UTF-8, nieko konvertuoti nereikia. O jei vienbaitė, tai reiks. Šiuo atveju pabandykit išsiaiškinti, kokia pradinė koduotė. Mano atveju tai buvo windows-1257. Taigi, darome dumpą ir perkoduojame: mysqldump -u username -ppassword dbname >dump.sql iconv -f cpp1257 -t utf8 dump.sql >dump_utf.sql O paskui ir vėl sukišame kitame serveryje: mysql -u username -ppassword dbname < dump_utf.sql
Į ten nukopijuojame ir suinstaliuotą phpBB3. Po perkėlimo gali tekti truputį paredaguoti config.php failą forumo kataloge, kad būtų teisingi prisijungimo prie DB parametrai. Jei viskas gerai - forumas dabar jau dirbs, galima jungtis prie jo administravimo puslapio ir toliau jau reguliuoti nustatymus ten.
|