PHP + Yii2 + output_buffering |
Здравствуйте, гость ( Вход | Регистрация )
PHP + Yii2 + output_buffering |
Гость_ГостьГость_* |
23.5.2018, 17:36
Сообщение
#1
|
Гости |
Привет всем.
Пытаюсь заюзать Yii2, но что-то безуспешно. Суть. При открытии страницы, отрабатывается JS, который ajax'ом вытягивает данные из СУБД. И вот, когда количество разом выгружаемых данных перевалило за 4096 знаков, данные из БД перестали приходить. Долго гуглил и не нагуглил. Думал, что проблема в БД, JS, где угодно, но не в php. Оказалось, в php есть такой параметр output_buffering который разработчики настоятельно рекомендуют не трогать по причине работает-не_лезь. Вот и думаю. Сейчас около 37 объектов, по которым выгружается 4102 байта инфы. Объектов планируется около 2200, т.е. 256Кб было бы шикарно, а лучше 512КБ, но это все рискует сдохнуть. Как быть? Спасибо. |
|
|
Алексей1153 |
24.5.2018, 8:01
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
а СУБД то какая ? Может, дело таки в ней
и как это - "данные из БД перестали приходить" |
|
|
Гость_Гость_Гость_* |
24.5.2018, 18:07
Сообщение
#3
|
Гости |
и как это - "данные из БД перестали приходить" echo перестал возвращать. Я же говорю, что в php.ini параметр output_buffering выставлен в 4096 по дефолту и ппц как не рекомендуется его трогать. Т.е. суть вот какая. Страница отправляет на ajax-документ данные, по данным происходит выборка, данные из БД препарируются в json_encode и как дело доходит до echo - если размер до 4096 - все норм. Больше - тишина. Дока к пхп говорит, что данные пилиться должны, кратно 4096. Пришло у тебя 4102, значит передача пойдет в 2 этапа. Сначала 4096, затем еще 6 байт. Тут такого не происходит, мне система просто пишет в лог строку в которой ошибка, а в консоль.лог падает инфа, что url корявая. Как заставить её ходить в 2 блока, я хз. |
|
|
ViGOur |
25.5.2018, 9:39
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
ИМХО лучше за раз не брать 4096 строк из БД, тем более пользователь их сразу все не будет читать.
Сделай отлоденную загрузку, тоесть загружаешь 100 строк, посльзователь доходит до просмотра 101, тогда подгружаются следующие 100 и так далее... Этим убиваешь сразу трех зайцев: 1. решается проблема с загрузкой кучи строк из БД 2. снижается нагрузка на сервак и БД 3. увеличивается скорость загрузки страницы на стороне пользователя |
|
|
Текстовая версия | Сейчас: 21.11.2024, 23:38 |