"Создатели популярных фреймворков" используют буферизацию для других целей, а не чтобы выводить контент перед заголовками, что - повторюсь - является бессмысленным говнокодом.
Использование ob_ функций это типичная ошибка новичков, которая не исправляет проблему, а заметает её под ковер, делая код ещё более шизофреническим, "сейчас мы выведем контент, но выводить его не будем"
В 8.3 уже можно не писать это уродливое catch PDOException/throw PDOException. Это делалось, чтобы скрыть пароль из сообщения об ошибке, а в 8 версии он уже скрывается автоматически.
Разделять код соединения на два файла в данном случае не имеет смысла. А называть файл с настройками login.php как-то глупо. Проще всего написать в одном файле и назвать его pdo.php.
Ну и отлично. Надо только убедиться что ограничение памяти в РНР не слишком низкое, я думаю 128М хватит. Соответственно с одним воркером максимальное поребление будет не больше этого значения, а в реальности должно быть меньше, не больше 30М.
сейчас померял - получается не 2, а 10 мегабайт. Ну как бы тоже не великие цифры для консольного скрипта, который запускается по запросу. Вы же не в онлайне эти "массивы" сравниваете?
kategg, ну вы определитесь тогда сначала
Вы послушайте себя со стороны:
- у меня есть массив!
- ну так перебирайте его, в чем проблема?
- ой, у меня его нету, его получать долго!
В вопросе про "выгружать много записей" как бы ничего не было
С цифрами тоже непонятно, то 10к+, то 100к.
И с памятью то же самое. Сколько будет "накладно" в цифрах? Даже 100к емейлов - это несчастные 2 мегабайта. У вас настолько всё плохо с железом? Или вы путешественница во времени и пишете нам из 2004 года?
Вы хоть какой-то вариант уже пробовали?
Если нет - то почему?
Если да - то с какими конкретно проблемами столкнулись и чем конкретно он вас не устроил, что вы ищете альтернативный?
Это вы издеваетесь. А мы так, угораем.
Есть такой очень старый анекдот, понятный только людям, которые родились до 1990 года.
В то время не было мобильных приложений для такси, и надо было либо идти на специальную остановку, либо выхдить на дорогу и поднимать руку - "голосовать". А сами машины такси имели характерную эмблему - "шашечки"
Чувак голосует на дороге, останавливается машина
Водитель: Вам куда?
- Мне туда-то, а вы такси?
- Садитесь.
- А вы такси? А где же ваши шашечки?
- Вам шашечки или ехать?
Последняя фраза стала крылатым выражением, которая употребляется, когда человек не делает то, что ему надо, а делает то, что не надо
Вам тоже надо определиться, что вам нужно. Файл загрузить или использовать правило size.
Если вы ХОЧЕТЕ ПОНИМАТЬ как конкретно работает правило size для файлов, то исходники фреймворка открыты, изучайте на здоровье.
Но лучше конечно будет сначала ответить на вопрос, зачем вообще использовать правило size для файлов
Как работают правила валидации, написано в документации
Чтобы файл проходил валидацию, надо указать минимальное и максимальное значение размера файлов, которые вы разрешаете к загрузке
Alex Lav, может вам надо отдохнуть, поспать там?
У вас в вопросе написано, что этот код что-то выводит. И хотя именно этот код вообще ничего не выводит, но я предполагаю что где-то дальше есть код, который выводит этот несчастный $id_servers.
И вы сейчас всерьез спрашиваете, "как вывести"? Вот прямо серьёзно?
Попробуйте задать себе вопрос, что делает строчка $id_servers = $row_servers['id'];
И какого результата вы в принципе вы от него можете ждать по окончании цикла, кроме возврата единственного id.