crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в PHP + Yii2 + output_buffering
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ViGOur Дата 25.5.2018, 9:39
  ИМХО лучше за раз не брать 4096 строк из БД, тем более пользователь их сразу все не будет читать.
Сделай отлоденную загрузку, тоесть загружаешь 100 строк, посльзователь доходит до просмотра 101, тогда подгружаются следующие 100 и так далее...

Этим убиваешь сразу трех зайцев:
1. решается проблема с загрузкой кучи строк из БД
2. снижается нагрузка на сервак и БД
3. увеличивается скорость загрузки страницы на стороне пользователя
Гость_Гость Дата 24.5.2018, 18:07
 
Цитата(Алексей1153 @ 24.5.2018, 8:01) *
и как это - "данные из БД перестали приходить"

echo перестал возвращать.
Я же говорю, что в php.ini параметр output_buffering выставлен в 4096 по дефолту и ппц как не рекомендуется его трогать. Т.е. суть вот какая.
Страница отправляет на ajax-документ данные, по данным происходит выборка, данные из БД препарируются в json_encode и как дело доходит до echo - если размер до 4096 - все норм. Больше - тишина. Дока к пхп говорит, что данные пилиться должны, кратно 4096. Пришло у тебя 4102, значит передача пойдет в 2 этапа. Сначала 4096, затем еще 6 байт. Тут такого не происходит, мне система просто пишет в лог строку в которой ошибка, а в консоль.лог падает инфа, что url корявая. Как заставить её ходить в 2 блока, я хз.
Алексей1153 Дата 24.5.2018, 8:01
  а СУБД то какая ? Может, дело таки в ней

и как это - "данные из БД перестали приходить"
ГостьГость Дата 23.5.2018, 17:36
  Привет всем.
Пытаюсь заюзать Yii2, но что-то безуспешно.
Суть. При открытии страницы, отрабатывается JS, который ajax'ом вытягивает данные из СУБД. И вот, когда количество разом выгружаемых данных перевалило за 4096 знаков, данные из БД перестали приходить. Долго гуглил и не нагуглил. Думал, что проблема в БД, JS, где угодно, но не в php. Оказалось, в php есть такой параметр output_buffering который разработчики настоятельно рекомендуют не трогать по причине работает-не_лезь. Вот и думаю. Сейчас около 37 объектов, по которым выгружается 4102 байта инфы. Объектов планируется около 2200, т.е. 256Кб было бы шикарно, а лучше 512КБ, но это все рискует сдохнуть.

Как быть?

Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 15:09