Ответы пользователя по тегу PHP
  • Почему строка обрезается до длины 65535?

    @47911 Автор вопроса
    Решение найдено.
    Есть таблицы:
    #__community_notifications
    #__community_activities
    #__community_groups_discuss
    #__community_mailq
    В них есть поля, куда записывается информация об обсуждении(напомню: компонент JomSocial, в обсуждение пытаюсь запихнуть текст длинной более 65535) - выдаётся ошибка, т.к. в одной или более таблице есть поля с "длинной поля" до 65535 символов - возникает ошибка. Нужно изменить длинну поля на большее(Тип поля: mediumtext - спасибо Сергей delphinpro, Дмитрий вы были правы. Просто не в 1-о место записываются данные). Название полей не даю т.к.: если вы сами не можете разобраться - лучше не лезте туда сами.
    Ответ написан
  • Импорт большого файла с ошибкой recv() failed (104: Connection reset by peer) - что делать?

    @47911 Автор вопроса
    Daria Motorina
    https://serverfault.com/a/782128/441975

    После указания:
    opcache.memory_consumption = 128
    (раскоментировал)
    Импорт прошёл, видимо глючил кешер.

    Обновлено: 18.03.2021
    Я поторопился. Проблема никуда не ушла.
    Но: 1-й запуск за сутки - позволяет импортировать. А вот последующий импорт - не доходит до конца.

    Если важно: php-fpm 5.6, php-fpm 7.0, php-fpm 7.3, php-fpm 7.4(на выбор)
    Скрипт запускается на php-fpm 7.4
    mariadb Ver 15.1 Distrib 10.5.9-MariaDB
    100 гигов оперативки
    2 проца по 16 ядер 2.40GHz
    И загрузка не превышает 50% проца и 70% памяти.
    использую в скрипте:
    mysqli_autocommit и mysqli_commit

    Есть идеи? Импортирую по факту 100 000 статей, в 5 таблиц(количество таблиц к которым обращаюсь), и в одну из них - 15-20 записей(свойства). Итого 20-25 запросов максимум. И оно выпадает с:

    [error] recv() failed (104: Connection reset by peer) while reading response header from upstream

    Я уже не знаю что ещё пробовать. В теории будет ещё импорт с большим количеством записей, неужели делить по 10 000 ? Ещё идеи есть?

    Обновлено
    проблема была решена. Надо запускать под админом, в консоле. Тут нету прерывания.
    Ответ написан
    2 комментария