Обновился до XF2 и пользователи не могут регистрироваться

DarkShy

Проверенные
Сообщения
86
Реакции
22
Баллы
5,510
После обновления с 1.5 до 2.0.0, а после и до 2.0.1 пропала возможность регистрации пользователей.
Название ошибки:
  • XF\Db\Exception: MySQL query error [1364]: Field 'realname' doesn't have a default value
  • src/XF/Db/AbstractStatement.php:212
PHP:
#0 src/XF/Db/Mysqli/Statement.php(174): XF\Db\AbstractStatement->getException('MySQL query err...', 1364, 'HY000')
#1 src/XF/Db/Mysqli/Statement.php(70): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1364, 'HY000')
#2 src/XF/Db/AbstractAdapter.php(74): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(151): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1381): XF\Db\AbstractAdapter->insert('xf_user', Array)
#5 src/XF/Mvc/Entity/Entity.php(1113): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/Service/User/Registration.php(254): XF\Mvc\Entity\Entity->save()
#7 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\User\Registration->_save()
#8 src/XF/Pub/Controller/Register.php(369): XF\Service\User\Registration->save()
#9 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Register->actionRegister(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('XF:Register', 'register', 'json', Object(XF\Mvc\ParameterBag), '', Object(XF\Pub\Controller\Register), NULL)
#11 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#12 src/XF/App.php(1880): XF\Mvc\Dispatcher->run()
#13 src/XF.php(328): XF\App->run()
#14 index.php(13): XF::runApp('XF\\Pub\\App')
#15 {main}

Запрос:
array(4) {
["url"] => string(28) "/index.php?register/register"
["referrer"] => string(43) " "
["_GET"] => array(1) {
["register/register"] => string(0) ""
}
["_POST"] => array(15) {
["username"] => string(0) ""
["4f424e8bdebf61614b1ffa01bfbe1ec2993a82e9"] => string(10) "ClamoreShy"
["6f430bda70d21c5e1ed015a6e2a30af6fcd9b03e"] => string(20) "clamoreshy@gmail.com"
["7de66800db0d7d53a3d7b1c71abd612260520b2a"] => string(8) "********"
["dob_month"] => string(2) "11"
["dob_day"] => string(1) "1"
["dob_year"] => string(4) "1999"
["location"] => string(6) "Russia"
["g-recaptcha-response"] => string(356) "03AMPJSYVTKST1EMxhF05iS2UZkIrTumeTHyHU_yoVQAW7LVdRNa_INfHq8aw92GQU8mLxDy0IBKcYH-5GC_6Xn2GBNW_3_O_6J1W5VCljt6_Babx4NTnfrX_07gX_AM4g_UWz7Zecg__6iLxR-3z6l_jYDyn50KxFMZwfPO6uTEag3j0hJMhWpYIBBbxkoXVlL_u5SFdnEpTVuDS1o5xYSp9V7WF8Ea62rM7NNGoZBuakWTnB4RAUoFGaerxoTg1cMuSwbMrcqoGV6AZ8nYnGG_4xFKFN3PW2ehFg_WzITBMS_yyy600PTboZwBZ_d9Dxy5LgDwfHIAnFyKZU_n4cfdHROCAqTs1wxA"
["reg_key"] => string(16) "Dya8AZjhcY0Lkoob"
["b01de1559c3160cb9eaf38822d04d6c002970e2b"] => string(14) "Africa/Nairobi"
["_xfToken"] => string(8) "********"
["_xfRequestUri"] => string(20) "/index.php?register/"
["_xfWithData"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
}
}

За помощь - печеньки
 
Плагины стояли какие-нибудь?
 
Похоже на хвосты в БД, но тут вероятно не от дополнений даже, если верно помню, интеграцию пытались делать.
 
  • Мне нравится
Реакции: Hope
Нужно найти это поле "realname" в БД и значение по умолчанию в настройках структуры ему установить NULL. Сталкивался много раз с подобной проблемой.
 
Нужно найти это поле "realname" в БД и значение по умолчанию в настройках структуры ему установить NULL. Сталкивался много раз с подобной проблемой.
Простите за глупый вопрос, но не подскажите, как это реализовать?
 
Простите за глупый вопрос, но не подскажите, как это реализовать?
Нужно найти это поле в какой-то таблице, я сам не знаю где оно, скорее всего оно от дополнений каких-то. Далее кликнуть "изменить" - "структура" - "по умолчанию: null"
 

Вложения

  • Screenshot_25.png
    Screenshot_25.png
    18.6 KB · Просмотры: 14
Нужно найти это поле в какой-то таблице, я сам не знаю где оно, скорее всего оно от дополнений каких-то. Далее кликнуть "изменить" - "структура" - "по умолчанию: null"
То пропало, появилось это:
PHP:
#0 src/XF/Db/Mysqli/Statement.php(174): XF\Db\AbstractStatement->getException('MySQL query err...', 1364, 'HY000')
#1 src/XF/Db/Mysqli/Statement.php(70): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1364, 'HY000')
#2 src/XF/Db/AbstractAdapter.php(74): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(151): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1381): XF\Db\AbstractAdapter->insert('xf_user', Array)
#5 src/XF/Mvc/Entity/Entity.php(1113): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/Service/User/Registration.php(254): XF\Mvc\Entity\Entity->save()
#7 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\User\Registration->_save()
#8 src/XF/Pub/Controller/Register.php(369): XF\Service\User\Registration->save()
#9 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Register->actionRegister(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('XF:Register', 'register', 'json', Object(XF\Mvc\ParameterBag), '', Object(XF\Pub\Controller\Register), NULL)
#11 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#12 src/XF/App.php(1880): XF\Mvc\Dispatcher->run()
#13 src/XF.php(328): XF\App->run()
#14 index.php(13): XF::runApp('XF\\Pub\\App')
#15 {main}
 
То пропало, появилось это:
PHP:
#0 src/XF/Db/Mysqli/Statement.php(174): XF\Db\AbstractStatement->getException('MySQL query err...', 1364, 'HY000')
#1 src/XF/Db/Mysqli/Statement.php(70): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1364, 'HY000')
#2 src/XF/Db/AbstractAdapter.php(74): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(151): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1381): XF\Db\AbstractAdapter->insert('xf_user', Array)
#5 src/XF/Mvc/Entity/Entity.php(1113): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/Service/User/Registration.php(254): XF\Mvc\Entity\Entity->save()
#7 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\User\Registration->_save()
#8 src/XF/Pub/Controller/Register.php(369): XF\Service\User\Registration->save()
#9 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Register->actionRegister(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('XF:Register', 'register', 'json', Object(XF\Mvc\ParameterBag), '', Object(XF\Pub\Controller\Register), NULL)
#11 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#12 src/XF/App.php(1880): XF\Mvc\Dispatcher->run()
#13 src/XF.php(328): XF\App->run()
#14 index.php(13): XF::runApp('XF\\Pub\\App')
#15 {main}
Исправляйте тем же образом, пока ошибки этого плана не исчезнут. У меня было такое с плагином ADCredits.
 
Нет бы убрать хвосты от чего-то оставшиеся, мы их исправляем, здорово.
 
Нет бы убрать хвосты от чего-то оставшиеся, мы их исправляем, здорово.
Ссылку на туториал в студию.

Исправляйте тем же образом, пока ошибки этого плана не исчезнут. У меня было такое с плагином ADCredits.
Там три столбца, в которых везде вместо NULL "нет"
Это всё исправить на NULL?
 
Исправляйте все, на что указывает ошибка: "Field 'то самое поле' doesn't have a default value"
Там указано лишь название таблицы, а какое поле хз:
  • Field 'xf_user_authenticate' doesn't have a default value

Исправляйте все, на что указывает ошибка: "Field 'то самое поле' doesn't have a default value"
Если есть возможность, не могли бы скинуть правильные строки?
 
Там указано лишь название таблицы, а какое поле хз:
  • Field 'xf_user_authenticate' doesn't have a default value


Если есть возможность, не могли бы скинуть правильные строки?
Чтобы не париться, уберите в конфиге mysql, если к нему есть доступ, "STRICT_TRANS_TABLES".
Либо попробуйте выполнить следующий SQL запрос:
Код:
SET @@SESSION.sql_mode= ''
SET @@GLOBAL.sql_mode= ''
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу