1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Переезжаю с IPB 3.1.3 - ошибки

Тема в разделе "Переезд на XenForo c других движков", создана пользователем funky, 17.12.2011.

Загрузка
  1. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    Начал переезд с IPB 3.1.3 и сразу на первом же этапе, а именно перенос групп пользователей ошибки:
    Код:
    Server Error
     
    Mysqli statement execute error : Duplicate entry '3' for key 'PRIMARY'
     
    Zend_Db_Statement_Mysqli->_execute() in Zend/Db/Statement.php at line 297
    Zend_Db_Statement->execute() in Zend/Db/Adapter/Abstract.php at line 479
    Zend_Db_Adapter_Abstract->query() in Zend/Db/Adapter/Abstract.php at line 574
    Zend_Db_Adapter_Abstract->insert() in XenForo/DataWriter.php at line 1591
    XenForo_DataWriter->_insert() in XenForo/DataWriter.php at line 1580
    XenForo_DataWriter->_save() in XenForo/DataWriter.php at line 1381
    XenForo_DataWriter->save() in XenForo/Model/Import.php at line 580
    XenForo_Model_Import->_importData() in XenForo/Model/Import.php at line 618
    XenForo_Model_Import->importUserGroup() in XenForo/Importer/IPBoard.php at line 346
    XenForo_Importer_IPBoard->stepUserGroups() in XenForo/Importer/Abstract.php at line 77
    XenForo_Importer_Abstract->runStep() in XenForo/ControllerAdmin/Import.php at line 180
    XenForo_ControllerAdmin_Import->_runStep() in XenForo/ControllerAdmin/Import.php at line 232
    XenForo_ControllerAdmin_Import->_startStep() in XenForo/ControllerAdmin/Import.php at line 175
    XenForo_ControllerAdmin_Import->actionStartStep() in XenForo/FrontController.php at line 310
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 132
    XenForo_FrontController->run() in /home/user/domains/ok.by/public_html/www2/forum/admin.php at line 13
    вопрос решился путем смены ID у существующих групп на XF, дальше при конвертации пользователей ошибка:
    Код:
    Server Error
     
    unserialize() [function.unserialize]: Unexpected end of serialized data
     
    XenForo_Application::handlePhpError()
    unserialize() in XenForo/Importer/IPBoard.php at line 957
    XenForo_Importer_IPBoard->_importUser() in XenForo/Importer/IPBoard.php at line 933
    XenForo_Importer_IPBoard->_importOrMergeUser() in XenForo/Importer/IPBoard.php at line 724
    XenForo_Importer_IPBoard->stepUsers() in XenForo/Importer/Abstract.php at line 77
    XenForo_Importer_Abstract->runStep() in XenForo/ControllerAdmin/Import.php at line 180
    XenForo_ControllerAdmin_Import->_runStep() in XenForo/ControllerAdmin/Import.php at line 232
    XenForo_ControllerAdmin_Import->_startStep() in XenForo/ControllerAdmin/Import.php at line 175
    XenForo_ControllerAdmin_Import->actionStartStep() in XenForo/FrontController.php at line 310
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 132
    XenForo_FrontController->run() in /home/user/domains/ok.by/public_html/www2/forum/admin.php at line 13
     
  2. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    откуда в импортере кодировка windows-1252 взялась?

    короче 7 часов потратил на это дело и ничерта не сделал, у кого какие варианты? Ошибки вылазят разные и на разных стадиях, например кодировка в утф но при этом при импорте в базе ?????
     
  3. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
  4. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    А разве это было неочевидно?
     
  5. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    как бы не очень, учитывая что база в утф сразу и не понятно почему она конвертиться не в утф если в файле импортера стоит кодировка принудительно утф

    Скоро доперенесеться надеюсь, отпишусь
     
  6. emar

    emar Пользователь

    Регистрация:
    13.12.11
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.1
    У меня что-то ничего не получается..
    опять всё заново надо делать..
     
  7. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    что именно не получается?
     
  8. emar

    emar Пользователь

    Регистрация:
    13.12.11
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.1
    Вопросики так и остались..
     
  9. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    база из которой перегоняешь в утф? сделал как я написал на сервере mysql ? перегрузил после этого mysql? сконвертил после этого по новой и правильно выставил сравнение в БД ?
     
  10. alexmir

    alexmir Read only

    Регистрация:
    29.12.11
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.1.3
    funky Напиши плиз пошагово че и как надо делать чтобы переехать с ипб? А то уже 3 день сижу и ничего не получаеться.
     
  11. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    Думаю будет проще если ты будешь писать что у тебя не получается, а я тебе постараюсь помочь.
    Берем базу, поскольку переносить модно только с версии 3.1 минимум то она уже в UTF8 но на всякий лучше в этом убедиться, ставим чистый ксен и заходим в импорт, а дальше как по маслу или как повезет
     
  12. alexmir

    alexmir Read only

    Регистрация:
    29.12.11
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.1.3
    Все спасибо,уже разобрался и переехал:)
     
  13. funky

    funky Местный

    Регистрация:
    17.12.11
    Сообщения:
    57
    Симпатии:
    8
    Версия XF:
    1.1.1
    отпишись что было и как решил, думаю многим поможет
     
    TAIFUN нравится это.
  14. alexmir

    alexmir Read only

    Регистрация:
    29.12.11
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.1.3
    Да в принципе все было написано в статье где ссылка выше, в общем в my.ini mysql вставил:
    default-character-set=utf8
    character-set-server=utf8
    collation-server=utf8_general_ci
    init-connect="SET NAMES utf8"
    skip-character-set-client-handshake
    и все заработало, форум переконвертил без проблем встроенный конвертер. Вроде все.
     
  15. avgaz

    avgaz Местный

    Регистрация:
    05.11.10
    Сообщения:
    40
    Симпатии:
    1
    У меня пользователи перенеслись нормально, разделы тоже, а при переносе тем вывалилась пустая страница, при повторе тоже самое. В чем может быть причина?
     
  16. Nog

    Nog Местный

    Регистрация:
    12.01.12
    Сообщения:
    3
    Симпатии:
    4
    Версия XF:
    1.2.4
    Потратил уйму времени на решение проблемы вопросов при переносе. Глобальные настройки базы в my.ini не трогал. Обошелся малой кровью.

    Проблема в том, что импортер пытается повторно закодировать UTF8 в UTF8 в итоге адекватный текст превращается в непойми что.
    Мне помогло такое решение:

    открываем library/XenForo/Importer/IPBoard.php
    Ищем строчку
    PHP:
    $db->getConnection()
    Добавляем после
    PHP:
    $db->query('SET NAMES `utf8`');
    Ищем строчку


    PHP:
    $this->_sourceDb Zend_Db::factory('mysqli',
    array(
    'host' => $config['db']['host'],
    'port' => $config['db']['port'],
    'username' => $config['db']['username'],
    'password' => $config['db']['password'],
    'dbname' => $config['db']['dbname']
    )
    );
    Добавляем после
    PHP:
    $this->_sourceDb->query('SET NAMES `utf8`');

    Сохраняем и закрываем файл

    Открываем файл
    library/XenForo/Importer/Abstract.php

    Ищем строки
    PHP:
    protected function _convertToUtf8($string$entities null)
    {
    Добавляем после
    PHP:
    return $string;
    Сохраняем и закрываем файл

    Пробуем импорт на пустом.

    ЗЫ. Возможно мое решение - не панацея. Настоятельно рекомендую сделать бэкапы, чтобы была возможность откатиться назад.
    Если проблемы продолжат возникать - пишите в личку. Возможно, смогу помочь.
     
    XuT, Alexder и TAIFUN нравится это.
  17. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Причина не в этом, а в том, что по дефолту мускул часто настроен на использование кодировки latin1 (это не UTF-8, хотя и мультиязычный). Вот именно поэтому и нужно принудить использовать кодировку UTF-8, что Вы, собственно, и сделали в своем решении. Т.е. решение правильное, а причина в неправильной дефолтной конфигурации клиенсткого соединения. Просто буржуи не напрягаются с этим, а поэтому в коде часто отсутствуют принудительные указания кодировок (set names). Вот и приходится кириллизированным пользователям дописывать в настройках соединения к базе дополнительный запрос, а то и сразу несколько. В правильных движках, конверторах и вообще скриптах обычно задаются необходимые настройки соединения, чтобы не полагаться на корректность таких настроек в my.ini.
     
    Yoskaldyr нравится это.
  18. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    По хорошему нужно излить мысли Киру с Майком, но наверняка опять лицензии нет. А без нее писать смысла нет.
     
  19. li4nost

    li4nost Пользователь

    Регистрация:
    24.01.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.1
    Nog
    спасибо, ваш способ помог. были такие же проблемы с импортом, как и в первом посте.
    --- добавлено : Jan 24, 2012 7:33 AM ---
    черт, накаркал
    при переносе статусов выбило ошибку

    Код:
    Server Error
     
    Mysqli statement execute error : Duplicate entry '1' for key 'PRIMARY'
    Zend_Db_Statement_Mysqli->_execute() in Zend/Db/Statement.php at line 297
    Zend_Db_Statement->execute() in Zend/Db/Adapter/Abstract.php at line 479
    Zend_Db_Adapter_Abstract->query() in Zend/Db/Adapter/Abstract.php at line 574
    Zend_Db_Adapter_Abstract->insert() in XenForo/DataWriter.php at line 1591
    XenForo_DataWriter->_insert() in XenForo/DataWriter.php at line 1580
    XenForo_DataWriter->_save() in XenForo/DataWriter.php at line 1381
    XenForo_DataWriter->save() in XenForo/Model/Import.php at line 580
    XenForo_Model_Import->_importData() in XenForo/Model/Import.php at line 1093
    XenForo_Model_Import->importProfilePost() in XenForo/Importer/IPBoard.php at line 1890
    XenForo_Importer_IPBoard->stepStatusUpdates() in XenForo/Importer/Abstract.php at line 77
    XenForo_Importer_Abstract->runStep() in XenForo/ControllerAdmin/Import.php at line 180
    XenForo_ControllerAdmin_Import->_runStep() in XenForo/ControllerAdmin/Import.php at line 232
    XenForo_ControllerAdmin_Import->_startStep() in XenForo/ControllerAdmin/Import.php at line 175
    XenForo_ControllerAdmin_Import->actionStartStep() in XenForo/FrontController.php at line 310
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 132
    XenForo_FrontController->run() in /usr/home/******/domains/********/public_html/forum2/admin.php at line 13
    как поправить?
     
  20. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2 258
    Симпатии:
    1 613
    Версия XF:
    1.5.23
    Не светите пути.
    Убрал под *
     

Поделиться этой страницей