Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка после переноса HTTP ERROR 500


lov1s

Recommended Posts

Доброго времени суток, после переноса столкнулся с проблемой при оформлении заказа в магазине выдает ошибку HTTP ERROR 500, также в админке при переходе на вкладку Products или Categories появляется тоже самое. В логах сайта выдает следующие:

Цитата

PHP Notice: unserialize(): Error at offset 1991 of 2031 bytes in /home/admin/web/XXX/public_html/index.php on line 70

PHP Notice: unserialize(): Error at offset 1476 of 1519 bytes in /home/admin/web/XXX/public_html/index.php on line 70

 

Змінено користувачем lov1s
Надіслати
Поділитися на інших сайтах


@lov1s Проверьте версии PHP

Надіслати
Поділитися на інших сайтах

Ошибка говорит о том, что он не может десерилизовать какие-то данные. Сериализованные данные обычно хранять в БД. Например следующий массив:

$arr = [
    'amount' => 12,
    'field1' => 'we are the champions',
    'field2' => 'мы три еще чемпионые'
];

сериализуется в следующую строку:

a:3:{s:6:"amount";i:12;s:6:"field1";s:20:"we are the champions";s:6:"field2";s:37:"мы три еще чемпионые";}

Я специально подобрал строку на англ. и рус. по кол-ву символов одинаковую, но если посмотреть как определил длину то англ. он написал s:20 т.е. норм там 20 символов включая пробелы, а рус. он написал s:37. Дак вот проблемы могут быть как писал @spectre

15 часов назад, spectre сказал:

базу плохо перенесли

 

Я только хочу уточнить, что это не значит, что что-то не скопировали, а скопировали не в той кодировке, для нормальной работы с кириллицей нужна кодировка utf-8, как в БД, так и в php. Т.е. когда пытается десериализовать данные, он ожидает одно кол-во данных, а получает другое. Вообщем надо копать в сторону кодировки.

Надіслати
Поділитися на інших сайтах


Сайт на англ. там нет кириллицы, после загрузки старого дампа бд столкнулся с новой ошибкой:

Цитата

PHP Fatal error: Uncaught exception 'ErrorException' with message 'Error: Field 'invoice_no' doesn't have a default value<br />Error No: 1364<br />INSERT INTO `oc_order` SET \n\t\tstore_id = '0', \n\t\tstore_name = 'XXX', \n\t\tstore_url = 'https://www.XXX.com/', \n\t\ttotal = '9.95', \n\t\taffiliate_id = '0', \n\t\tcommission = '0', \n\t\tlanguage_id = '1', \n\t\tcurrency_id = '2', \n\t\tcurrency_code = 'USD', \n\t\tcurrency_value = '1', \n\t\tip = '185.18.53.13', \n\t\tforwarded_ip = '88.150.208.148, 88.150.208.148', \n\t\tuser_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36', \n\t\taccept_language = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', \n\t\tdate_added = NOW(), \n\t\tdate_modified = NOW()' in /home/admin/web/XXX.com/public_html/system/database/mysqli.php:40\nStack trace:\n#0 /home/admin/web/XXX.com/public_html/vqmod/vqcache/vq2-system_library_db.php(20): DBMySQLi->query('INSERT INTO `oc...')\n#1 /home/admin/web/XXX.com/public_html/catalog/model/q in /home/admin/web/XXX.com/public_html/system/database/mysqli.php on line 40, referer: https://www.XXX.com/index.php?route=checkout/cart

 

Надіслати
Поділитися на інших сайтах


1 час назад, lov1s сказал:

Сайт на англ. там нет кириллицы, после загрузки старого дампа бд столкнулся с новой ошибкой:

Тогда возможно строка сериализации банально битая, например данные очень большие и строка длинная, а когда делался дамп, то он его порезал хотя как такое возможно. А как делали дамп БД?

 

Новая ошибка о том, что в запросе не задано значение для поля invoice_no, но и в структуре таблицы значение по умолчанию не предусмотрено в итоге как бы отсутствует обязательное поле.

 

А как прошлую ошибку решили?

 

Знаете возможно код, который дает ошибки плохо написан и там проблемы отсутствия значения по умолчанию не предусмотрены, просто код писался с другим режимом работы сервера БД, в mysql есть такой параметр sql_mode он как раз задает поведение сервера в разных ситуациях и одна из ситуации как раз когда не задано значение обязательного поля. Вот статья на русском про это - https://habr.com/ru/post/166411/. Я думаю в этом направлении надо копать )

Змінено користувачем i3bepb
Дополнил про STRICT_TRANS_TABLES
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.