Помощь Перенос на другой хостинг

brett

Мастер
Регистрация
3 Фев 2009
Сообщения
217
Реакции
34
Решил перенести опенканрт 1551 на другой хост
в итоге имеем админка не открывается белый лист
на главной ошибки текст кривой не в утф 8
в логах такая вот ошибка

2014-12-20 13:00:36 - PHP Notice: unserialize(:( Error at offset 710 of 712 bytes in /catalog/model/rgen/rgencustom.php on line 26
2014-12-19 12:29:29 - PHP Notice: unserialize(:( Error at offset 904 of 9129 bytes in web/catalog/model/setting/setting.php on line 12
2014-12-20 13:00:36 - PHP Notice: unserialize(:( Error at offset 904 of 9129 bytes in web/vqmod/vqcache/vq2-catalog_model_setting_setting.php on line 12
2014-12-19 17:29:30 - PHP Warning: Invalid argument supplied for foreach() in web/system/config/ssb_library/ssb_data.php on line 1

строка с ошибкой
$data[$result['key']] = unserialize($result['value']);
 
удали кеш и попробуй опять
 
кэш какой? Уже все удалил и в шопе и вкмод....и несколько раз:)
 
Ты когда базу заливал, проверил кодировку дампа? Поди либо он, либо уже сама база в анси каком-нибудь.
 
База utf-8 bez BOM
 
Попробуй ету функцию и покажи что пишет
PHP:
function findSerializeError($data1) {
    echo "<pre>";
    $data2 = preg_replace ( '!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'",$data1 );
    $max = (strlen ( $data1 ) > strlen ( $data2 )) ? strlen ( $data1 ) : strlen ( $data2 );

    echo $data1 . PHP_EOL;
    echo $data2 . PHP_EOL;

    for($i = 0; $i < $max; $i ++) {

        if (@$data1 {$i} !== @$data2 {$i}) {

            echo "Diffrence ", @$data1 {$i}, " != ", @$data2 {$i}, PHP_EOL;
            echo "\t-> ORD number ", ord ( @$data1 {$i} ), " != ", ord ( @$data2 {$i} ), PHP_EOL;
            echo "\t-> Line Number = $i" . PHP_EOL;

            $start = ($i - 20);
            $start = ($start < 0) ? 0 : $start;
            $length = 40;

            $point = $max - $i;
            if ($point < 20) {
                $rlength = 1;
                $rpoint = - $point;
            } else {
                $rpoint = $length - 20;
                $rlength = 1;
            }

            echo "\t-> Section Data1  = ", substr_replace ( substr ( $data1, $start, $length ), "<b style=\"color:green\">{$data1 {$i}}</b>", $rpoint, $rlength ), PHP_EOL;
            echo "\t-> Section Data2  = ", substr_replace ( substr ( $data2, $start, $length ), "<b style=\"color:red\">{$data2 {$i}}</b>", $rpoint, $rlength ), PHP_EOL;
        }

    }

}
 
эээ запрос в пшпмайдамин?
вот ответ
Код:
SQL query:

FUNCTION findSerializeError(

$data1
){echo "<pre>";

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'function findSerializeError($data1) {
    echo &quot;&lt;pre&gt;&quot;' at line 1
 
в любом случае решение типа такого - Для просмотра ссылки Войди или Зарегистрируйся однозначно проблема в таблице oc_settings

я раз 7 или 8 переносил сайты на новые хосты и была такая ошибка, каждый раз надо было удалить какую-то настройку. Или ОСфильтра, или приветствия и т д. Просто сортируй по serialized и удаляй по 1-2-5 штук. Так выяснишь какая именно настройка отвечает за ошибку.

Бекап сразу надо сделать это таблицы.
 
Нет ето код пхп ты должен был добавит ее в файл, потом зделать так

findSerializeError($result['value']);
die();
потом идет твой код
$data[$result['key']] = unserialize($result['value']);

ета функция дает дамп ошибки из за которой твой код не работает
покажи етот код тому кто в пхп разбирается.
эээ запрос в пшпмайдамин?
вот ответ
Код:
SQL query:

FUNCTION findSerializeError(

$data1
){echo "<pre>";

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'function findSerializeError($data1) {
    echo &quot;&lt;pre&gt;&quot;' at line 1
 
Варианты решения трабла:
  1. Проверьте оба файла config.php (проверьте правильность путей. если переносили с локального сервера возможно проблема в этом, а еще бывает в слеше. На windows она \, а должна быть /).
  2. Проверьте доступность файлов на хостинге (языковые файлы используемого языка), права на доступ к файлам.
  3. Попробуйте другой браузер. Попробуйте зайти в админку через браузер в режиме "инкогнито" (например в chrome Ctrl + Shift + N).
  4. Отключите все расширения браузера.
  5. И наконец проверьте системный файл host (возможно там прописался домен сайта с локальным IP).
  6. Если и это не помогло, напишите в личку. Решим проблему.
 
Назад
Сверху