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

Проблема с Mysqli: "Prepared statement needs to be re-prepared"

Тема в разделе "Баги XenForo", создана пользователем sparhawk, 01.12.2010.

Загрузка
  1. DejaVu

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

    Регистрация:
    15.03.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.2
    Схожая проблема. Хостинг sweb (OS: Linux 3.1, Apache: 2.0.63, Perl: 5.8.8, PHP4: 4.4.9 ( cgi ), PHP5: 5.2.17 ( mod ), MySQL: 5.1.58) - http://turku.sweb.ru/phpinfo.php5

    Лицензия XF, версия 1.1.2, сегодня поставили форум, но при попытки создания темы выскакивает ошибка. Есть ли еще смысл мучить саппорт sweb и пытаться решить проблему или уже начинать подыскивать другой хостинг?

     
  2. DejaVu

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

    Регистрация:
    15.03.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.2
    После короткой переписки с саппортом заключение такое:
    Интересно, целесообразно ли добиваться обновления mysql, как советовали в теме ранее. И чем закончилась дело пользователей sweb с первой страницы.


    Update:
     
  3. Neo.aka.Darkman

    Neo.aka.Darkman Местный

    Регистрация:
    31.01.11
    Сообщения:
    16
    Симпатии:
    2
    Версия XF:
    1.1.1
    DejaVu

    мне в свое время пришлось уйти, поскольку после недели перебранки с саппортом, заявили что проблема не решаема (либо посоветовали использовать другой движок)
     
  4. DejaVu

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

    Регистрация:
    15.03.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.2
    Придется так и сделать. В целом все устраивает, но проект на XF в данный момент приоритетный. В саппорте явно дали понять, что сдвигов в ближайшее время не будет, хотя жаль, хостингу всего месяц и бэкмани не сделать.
    Правда есть еще вариант арендовать у них VDS попробовать.
     
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    VDS, кстати, не панацея. Там также могут быть те же грабли. Уж слишком специфичная проблема, которая зависит от дистрибутива или конкретных версий сервера, клиента и библиотек MySQL.
     
  6. DejaVu

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

    Регистрация:
    15.03.12
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.1.2
    Возможно. На VDS у них, кстати, тестового периода нет, кот в мешке получается. Какой-то замкнутый круг, что покупать тогда и у кого, чтобы наверняка работало.
     
  7. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ну, в случае чего можно попробовать применить следующие настройки mysql:
    Код:
    table_open_cache 128=>16384
    table_definition_cache 1024=>16384
    tmp_table_size 32M=>64M
    join_buffer_size 256k=>512k
    
    По идее данные настройки уменьшают вероятность нарваться на более 3 переподготовок запросов вплоть до нуля. Что в свою очередь исключает возникновение сабжевой ошибки.
    Это решение опубликовано в самом низу обсуждения бага тут.

    Можете попробовать ткнуть носом хостера в это решение. Возможно, они согласятся внести изменения в настройки сервера.
     
  8. avgaz

    avgaz Местный

    Регистрация:
    05.11.10
    Сообщения:
    40
    Симпатии:
    1
    Ну свеба тарифы на VDS задраны, дешевле у других. Да и не кота в мешке берете на VDS вы можете сами ставить что вам угодно и какую угодно версию SQL все в ваших руках.
     
  9. Demon572

    Demon572 Учусь

    Регистрация:
    14.02.11
    Сообщения:
    24
    Симпатии:
    7
    Версия XF:
    1.1.3
    У меня проблема решилась путем установки XenForo 1.1.2 на Denwer, откуда я его успешно перенес на хостинг sweb (тариф SX-2). Пока полет нормальный
     
  10. InDiGo

    InDiGo Новичок

    Регистрация:
    25.08.12
    Сообщения:
    2
    Симпатии:
    0
    Версия XF:
    1.1.3
    забавно. Добавил в index.php после <?
    PHP:
    @error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED);
    @
    ini_set ('error_reporting'E_ALL & ~E_NOTICE);///  & ~E_NOTICE
    @ini_set ('display_errors''On');
    @
    ini_set ('display_startup_errors''0');
    @
    ini_set ('ignore_repeated_errors''1');
    @
    ignore_user_abort (1);
    и проблемы вроде как не стало. Выскакивает только если в админке и всплывающее, но как ранее не блокируется больше сайт надписью "Ошибка тыры пыры"
     
  11. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Одного я понять не могу, а нафига несколько раз указывать одни и те же настройки? Ну и какой смысл сначала указывать показ ошибок, а затем отключать их? Плюс еще и игнорировать их. Теоретически с такими настройками, кстати, можно легко сайт положить под DOS, я уж молчу о DDOS.
    Не факт, конечно, я не знаток параметров вывода ошибок как самого PHP, так и mysqli.
     
  12. InDiGo

    InDiGo Новичок

    Регистрация:
    25.08.12
    Сообщения:
    2
    Симпатии:
    0
    Версия XF:
    1.1.3
    DOS это такая Операционная система.
    DoS-атака это уже другое. Спорол ты полную чушь.
    Потом почитай что это всё значит написанное в соседнем посту.
     
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ох да. Я уж думал, что многие забыли о замечательной системе. Ну да ладно. Если уж быть точным, то это Дисковая Операционная Система :)
    А относительно DoS - посмотри внимательно, что ты отключаешь, а также обрати внимание на то, что произойдет, когда ошибка подготовки запроса будет проигнорирована раз "цать". Сходу не скажу конкретно, к чему это приведет, но как вариант - любой запрос начнет отрабатываться по максимальному таймауту. В результате штук 50 запросов даже от одного пользователя смогут привести к банальному отказу в обслуживании, так как количество одновременно выполняемых запросов не безгранично.

    В общем вариант игнорирования ошибки - плохой.

    Чуть не забыл. В случае игнорирования будет повторяться снова и снова запрос к базе. Кстати, ошибка мускула о проблеме с подготовкой запроса возникает, если не ошибаюсь, только после третьей попытки. Нетрудно догадаться, сколько при 10 ошибочных запросах будет обращений к базе...
     
  14. Mike

    Mike Местный

    Регистрация:
    30.11.11
    Сообщения:
    149
    Симпатии:
    3
    Версия XF:
    1.1.0 Final
    Доброй ночи!

    Только что показало при загрузке форума на главной странице :

    An exception occurred: Mysqli statement execute error : Error writing file '/tmp/MYTX1GOt' (Errcode: 122) in /var/www/site/data/www/site/library/Zend/Db/Statement/Mysqli.php on line 214

    Ничего не трогал, не устанавливал сегодня. Просто - на тебе. Выручите, пожалуйста. Что сделать можно? :( Версия : 1.1.3

    Рано начал паниковать, походу место на диске закончилось, удалил один бэкап - заработало. :)
     
  15. TAIFUN

    TAIFUN Человек

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

    fatalenergy Новичок

    Регистрация:
    01.10.12
    Сообщения:
    1
    Симпатии:
    2
    Помогло:
    /etc/my.cnf

    [mysqld]
    table_definition_cache = 16384
     
    Antuan и mindell нравится это.
  17. iishel

    iishel Активный пользователь

    Регистрация:
    29.11.12
    Сообщения:
    61
    Симпатии:
    4
    Версия XF:
    1.1.3
    Подскажите пожалуйста, из за чего может возникать такая ошибка в админке после переезда на новый хостинг???
    Код:
    An exception occurred: Mysqli statement execute error : Prepared statement needs to be re-prepared in /var/www/user1575/data/www/сайт.ру/library/Zend/Db/Statement/Mysqli.php on line 214
     
    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 XenForo/Model.php at line 218
    XenForo_Model->fetchAllKeyed() in XenForo/Model/RoutePrefix.php at line 41
    XenForo_Model_RoutePrefix->getPrefixesByRouteType() in XenForo/Model/RoutePrefix.php at line 54
    XenForo_Model_RoutePrefix->getPrefixesForRouteCache() in XenForo/Link.php at line 441
    XenForo_Link::_loadHandlerInfoForGroup() in XenForo/Link.php at line 358
    XenForo_Link::_getPrefixHandler() in XenForo/Link.php at line 324
    XenForo_Link::_buildLink() in XenForo/Link.php at line 81
    XenForo_Link::buildPublicLink() in XenForo/Dependencies/Admin.php at line 193
    XenForo_Dependencies_Admin->getEffectiveContainerParams() in XenForo/FrontController.php at line 563
    XenForo_FrontController->renderView() in XenForo/FrontController.php at line 156
    XenForo_FrontController->run() in /var/www/user1575/data/www/sakhsoft.ru/admin.php at line 13
     
  18. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    iishel
    Объединил, пользуйтесь поиском.
     
  19. ZeldoR

    ZeldoR Местный

    Регистрация:
    15.05.13
    Сообщения:
    34
    Симпатии:
    2
    Версия XF:
    1.2.4
    Переехал на новый VPS и тоже столкнулся с данной проблемой.

    Помогло это решение:

    Большое спасибО!
    --- добавлено : 21 июн 2013 в 18:34 ---
    Закрепите его в шапку.
     
  20. mindell

    mindell Новичок

    Регистрация:
    09.04.14
    Сообщения:
    2
    Симпатии:
    0
    Версия XF:
    1.3.1
    Спасибо добрый человек.
     

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