Upgrade-ul forum IPB 2.x la cea mai recentă versiune ar trebui să fie pusă în aplicare prin trecerea la versiunea 3, cu reînnoire ulterioară pentru a treia versiune. Trebuie să mă duc la a treia versiune utilizată IP.Board 3.0.5 de distribuție, care pot fi găsite pe internet. Înainte de orice actualizare a verifica dacă gazduieste un forum pe care cerințele noii versiuni și asigurați-vă că pentru a face o copie de rezervă a fișierelor și bazelor de date offline. Cerințe pentru ipb3.0.5 am citat mai jos.
Cerințe pentru IP.Board 3 după cum urmează:
Versiunea 1. PHP 5.1.h și de mai sus
2. Extinderea module PHP:
• dom
• gd
• inconv
• libxml
• mbstring
• mysqli si MySQL
• reflecţie
• SimpleXML
• SPL
3. Este de dorit ca următoarele module:
• JSON
• prize
• Sphinx
• XCache sau APC
4. Memorie alocată pentru PHP (memory_limit de valoare) ar trebui să fie de cel puțin 32MB, în mod ideal 128MB.
Bază de date recoding
Ideea de bază a recodare bază
Avem o copie de rezervă în fișierul. Acesta este un simplu text la ferestre-1251 (cp1251). Pentru a traduce acest text în UTF-8, trebuie să utilizați transcodarea Notepad ++ (codificare - pentru a converti la UTF-8).
Odată ce textul este tradus la UTF-8, este necesar să se corecteze instrucțiunile din acest text la baza de date în sine a lucrat cu el ca UTF-8. Și anume, există două comenzi SET NAMES și CHARSET DEFAULT. Pe baza cp1251 arata
Denumirile cp1251
) MOTORULUI = MyISAM DEFAULT CHARSET = cp1251
În nostru de rezervă de mai mult de două echipe. Deci, avem nevoie să le înlocuiască în întregul fișier la
) MOTORULUI = MyISAM DEFAULT CHARSET = utf8
Transcodarea înseamnă SSH
Noi folosim utilitarul iconv pentru a converti noastre de backup (pe care am făcut-o în prima etapă), se face după cum urmează:
> Inconv -f cp1251 -t utf8 dump.sql> dump.utf8
Alocarea tastelor după cum urmează:
-f cp1251 - cp1251 pentru a converti de la codare
-t utf8 - în codificarea utf8
dump.sql - ceea ce este necesar pentru a converti fișierul
> Dump.utf8 - rezultatele de conversie sunt scrise aici
Poate provoca probleme în timpul conversiei, care va întrerupe procesul de conversie. Acest lucru se întâmplă de obicei, din cauza incapacității de a găsi simboluri de potrivire o codificare în alte caractere. În astfel de cazuri, este necesar să se adauge o altă cheie (-c) în iconv de apel. Ie comanda va fi cu atât mai mult:
> Inconv -c cp1251 -f -t utf8 dump.sql> dump.utf8
În acest caz, o problemă apare atunci când convertiți un simbol pentru a fi ratat, iar conversia va continua.
Deci, tot textul, am tradus la UTF-8, este necesar să se schimbe comenzile SQL. Iată cum
De fapt, din moment ce groapa de gunoi trebuie să fie în cp1251 codificare corectă, atunci vom face schimbarea acestor valori în noul fișier:
'/ SET NUME NUME cp1251 / SET s utf8 / g'> Sed
> Sed 's / DEFAULT CHARSET = cp1251 / DEFAULT CHARSET = utf8 / g' <1.dump.utf8> dump.utf8.sql
Această echipă descrie în mod clar valorile românești:
sed 's / WS / Steel / g' <ОТКУДА ЧИТАЕМ> în cazul în care pentru a scrie
Recodare SypexDumper preparate
Distribuția Directorul de instrumente, am plasat un script modificat SypexDumper, care este deja configurat pentru a lucra cu baza forumului. Pentru a încărca script-ul în directorul rădăcină de pe serverul offline, și a alerga.
Introduceți datele de acces la forum, în prima fereastră.
În fereastra următoare vi se va cere să facă o groapa de bază de date și a restabili baza de date dintr-o copie de rezervă.
Ai face o groapa de bază de date. După finalizarea dumper scrie că de rezervă este gata și va oferi un link pentru a descărca. Descărcarea nu este necesară. Doar du-te on-line prin FTP la server și asigurați-vă că o copie este făcută și într-adevăr este în directorul cache. Puteți descărca cocina pe computer. Amintiți-vă numele fișierului de rezervă.
Du-te înapoi la forma dumper de la care a început să facă o copie de rezervă. Acum este necesar să se selecteze o recuperare a bazei de date.
În prima listă derulantă, selectați baza de date, în al doilea - numele fișierului de rezervă. Vei începe recuperarea.
După restaurarea este completă. Cu ajutorul phpMyAdmin sau un instrument similar pentru posibilitatea, verificați dacă toate tabelele sunt acum comparație utf8_general_ci, toate datele din tabele sunt afișate în mod normal.
Restaurarea unei noi baze de date
Baza noastră este convertit în altul, și este gata pentru a face upgrade. Cu toate acestea, este de asemenea necesar pentru a restabili serverul MySQL.
În primul rând, trebuie să modificați codificarea bazei vechi.
> Mysql -u UTILIZATOR_BD -p db_forum -e 'ALTER DATABASE db_forum DEFAULT SET utf8 COLLATE CARACTER utf8_general_ci'
Introduceți parola:
>
În orice interfață disponibile pentru a lucra cu baza de date (de exemplu, phpMyAdmin) pentru a merge off-line în baza de date și să execute o interogare
BAZA DE DATE ALTER db_forum DEFAULT SET utf8 COLLATE CARACTER utf8_general_ci
În schimb db_forum ar trebui să fie numele baza ta!
Acum implementați baza de date. Iată cum:
> Mysql -u DB_USER -p -default caractere-set = utf8 db_forum <./dump.utf8.sql
Introduceți parola:
>
Recuperare mai bine SypexDumper. Aruncări conversia copie rezevrnuyu a directorului unde SypexDumper susține baze de date. Și începe SypexDumper. urmați cu atenție instrucțiunile
Dump dislocate de bază de codare utf8, baza este gata pentru a face upgrade.
Descărcați noi fișiere
caracterul set de baze de date ne-am schimbat la UTF-8, iar acum trebuie să încărcați fișiere noi formează server. Pentru a face acest lucru, vom înțelege la început cu vechi. Unii dintre ei, nu mai avem nevoie. Pentru că elimină toate directoarele și fișierele din nostru online, cu următoarele excepții:
/ încărcări
./ style_images
./ style_emoticons
./ style_captcha
./ style_avatars
./conf_global.php
./ cache
Acum vom lua pe forum pre-descărcat de distribuție și toate fișierele și folderele din upload folder pentru a încărca pe server folosind FTP-client. Ar trebui să arate ca
/xml.php
./ încărcări
./ style_images
./ style_emoticons
./ style_captcha
./ style_avatars
./robotstxt.txt
./ vânzare cu amănuntul
./ publice
./ lofiversion
./ ips_kernel
./ interfață
./initdata.php
./index.php
./ cârlige
./favicon.ico
./ converge_local
./conf_global.php
./ cache
./ admin
Acum, trebuie să verificați că toate drepturile directorul plasate corect. IP.Board 3 prevede următoarele intrări în directorul
/ cache
./ Cache / tmp
./ Cache / lang_cache
./ Cache / lang_cache / 1
./ Cache / skin_cache
./ publice / style_images
./ Public / style_css
./ cârlige
./ încărcări
Și fișierul ./conf_global.php
Pentru a evita problemele de a expune aceste directoare și fișiere CHMOD 777 (rwxrwxrwx).
Pregătirea pentru upgrade
Codificarea în conf_global.php
Vechiul tău are nevoie pentru a schimba conf_global la actualizarea a avut succes. Acum, să presupunem că se pare ca acest lucru
Trebuie să specificați codificarea conexiunii la baza de date, ceea ce ar realizat un nou forum. Pentru a face acest lucru, după linia
Puteți șterge inutile.
Acesta va verifica cerințele de sistem, dacă găzduirii întâlnește pe forum și în altă parte arată o etichetă verde „este“ faceți clic pe „Next“.
În fila „Aplicații“, putem vedea ce versiune de forum înainte de orice actualizare. În cazul meu IP.Board 2.3.1 este actualizat la 3.0.5. Faceți clic pe "Next".
În fereastra următoare, las toate elementele într-o stare inactivă, și apăsați pe „Next“.
În fereastra următoare, am pus un semn de selectare de lângă linia de „interogări arată SQL pentru a rula manual.“ Acest lucru se datorează faptului că, atunci când faceți upgrade la versiunea 3 offline, interogări de baze de date sunt un fel de «TIP = MyISAM», care nu va funcționa în MySQL 5.5 și mai mare, deoarece sintaxa sa schimbat. La efectuarea unor astfel de solicitări în noile versiuni ale MySQL trebuie să «TYPE = MyISAM» înlocuit cu «MOTOR = MyISAM». Deoarece MySQL 5.5.22 lucra la momentul actualizării pe serverul meu, a trebuit să predea într-o interogare a bazei de date pentru a înlocui «TYPE = MyISAM» pe «MOTOR = MyISAM». Deci, începe actualizarea făcând clic pe butonul „Update Now“.
Există interogări sql pe care le va efectua în phpMyAdmin înlocuind «TIP = MyISAM» pe «MOTOR = MyISAM».
script actualizează periodic vă va solicita să apăsați butonul pentru a continua actualizarea.
mesaj de actualizare Sfârșit așa cum se arată mai jos.
Posibilele erori după actualizare
Se întâmplă ca după actualizare, accesați Forum, vezi ceva de genul:
Problema este că nu este, selectați codificarea corectă pentru pagina. Verificați în AC setări de codificare pagini offline (AC → Setări sistem → Setări → mediu de server Coding paginile de forum) trebuie să conțină o valoare de UTF-8.
AddDefaultCharset utf-8
AddCharset-8 * utf
CharsetSourceEnc utf-8
CharsetDefault utf-8
Motivele pot fi două:
1. Ai uitat să schimbi conf_global.php așa cum am scris despre mai sus.
Încercați să efectuați aceste modificări, în cazul în care nu ajuta cu atenție repeta actualizarea.
2. conversia bazei de date, care era deja în UTF.
Upgrade sau pentru a efectua cadru de transcodare (a textului), și de a efectua doar înlocuirea comenzilor SQL.