Многие хотят обновиться со своих старых диназавров 2.3.6 до новой версии 3.2.3, но все по порядку. Сначала сделаем обновление до 3.1.
С чего начать:
1. Делаем на всякий случай бекапы вашей БД и файлов форума
2. Удаляем не нужные папки и файлы через FTP
/sources /skin_acp /retail /resources /modules /lofiversion /jscripts /ips_kernel /interface /install /init.php /index.php /favicon.ico /converge_local /admin.php /admin
У вас должны остаться следующие файлы и папки:
/uploads /style_images /style_emoticons /style_captcha /style_avatars /conf_global.php /cache
Открываем новый дистрибутив форума 3.1 и заливаем через FTP У вас должно получиться вот так:
/xml.php /uploads /style_images /style_emoticons /style_captcha /style_avatars /robotstxt.txt /retail /public /lofiversion /ips_kernel /interface /initdata.php /index.php /hooks /favicon.ico /converge_local /conf_global.php /cache /admin
Теперь нужно выставить права 777 следующим директориям
/cache /cache/tmp /cache/lang_cache /cache/lang_cache/1 /cache/skin_cache /public/style_images /public/style_css /hooks /uploads [color=#000000]/conf_global.php[/color]
Желательно также выставить и для файла /conf_global.php права 777 для избежания проблем при обновлении
3. Открываем файл conf_global.php
Находим:
$INFO['mysql_codepage'] = 'cp1251';
Удаляем
Потом после:
$INFO['sql_tbl_prefix'] = 'ibf_';
Добавить строчку:
$INFO['sql_charset'] = 'utf8';
4. Теперь переходим к конвертированию вашей БД в кодировку UTF-8
ВНИМАНИЕ: Это нужно делать если у вас БД не в кодировке utf-8
Скачиваем скрипт от Ritsuka
Как выглядит скрипт:
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.\n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE $table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "$table changed to UTF-8.\n"; } mysql_close($dbconn); ?>
5. Распаковываем и добавляем файл convert.php в директорию вашего форума.
6. В адресной строке браузера набираем
7. Ждем завершения конвертации БД в кодировку utf-8
8. В адресной строке браузера вводим
9. Вводим данные администратора старого форума и запускаем обновление.
Все ваш форум обновлен до версии 3.1. Если вдруг на вашем форуме вы увидите вот такое:
То создайте в корне форума, где все папочки файл .htaccess и скопируйте вот эти строки:
AddDefaultCharset utf-8 AddCharset utf-8 * <IfModule mod_charset.c> CharsetSourceEnc utf-8 CharsetDefault utf-8 </IfModule>
Все готово.
Источник: ipbzona.ru