MrFlatman, самое простое - идите смотрите светодиоды на сетевом оборудовании. Если какой-то светодиод моргает сильно чаще других - ну попробуйте выдернуть провод, а вдруг поможет. Можно подключиться к роутеру и посмотреть трафик на его интерфейсах. Или по SNMP
P.S. А с чего это ссылка не вечная и тем более не возобнавляемая? Как передачу заголовков настроите - так оно и поплывёт. Но гиговая отдача - это да, памяти будет жрать как не в себя...
Вот просто смотря на исходники: ошибок нет, всё именно так и должно быть. Надо искать, в чём ошибка. Для начала - закомментировать удаление unlink() загруженных файлов, и скачать/проверить, что же там в них сохранилось? Потом можно поменять код, что бы вместо печати в .docx запихнулась подпись, может в этом дело? Или может проблема в формате картинки с подписью?
P.S. И да, как есть библиотеки генерации .docx, так есть и библиотеки генерации .pdf.
Да и вообще, в таблицы роутинга трафик попадает из rule по IP отправителя, а уже в таблицах (в том числе в main) трафик роутится по IP получателя. Если по rule трафик не попадает в дополнительные таблицы - он однозначно попадает в таблицу последней инстанции main.
evomed, ну и пусть парятся те, у кого часотка. Перестанет сервер справляться с нагрузкой из-за этих картинок - вот тогда и выносите их отдельно. Если это случится уже после тепловой смерти Вселенной - вот тогда и обеспокоитесь, чего сейчас-то?
Дмитрий, добавлять CORS на исходный домен бесполезно - JS обращается Ajax-ом сразу на домен владельца скриптов. CORS нужен там, а они этого не сделают, CNAME предлагали...
Второй вариант будет чрезвычайно медленнее, потому что будет не просто проходить циклом, а будет читать каждую запись из базы данных, огромные пустые расходы! А учитывая лишний запрос с mysqli_fetch_all() - так и вообще когда-нибудь памяти не хватит.
Второй вариант - это что бы угробить сервер? Не проще угро... уволить такого погромиста?