Я просто унаследовал проект PHP, который генерирует большие файлы PDF и обычно дросселирует после нескольких тысяч страниц и нескольких концертов серверной памяти. Проект использовал PDFLib для генерации этих файлов в памяти.PDFLib в PHP hogging resources, а не сбрасывание в файл
Мне было поручено исправить это, поэтому первое, что я сделал, это отправить PDFLib-вывод в файл вместо создания в памяти. Проблема в том, что она все еще, кажется, создает память PDF. И большая часть памяти никогда не возвращается в ОС. В конце концов, все это задыхается и умирает.
Когда я задаю программе создание только фрагментов больших PDF-файлов, кажется, что данные не полностью очищены до файла на end_document(). Я не получаю никаких ошибок, но PDF не читается и открытие его в шестнадцатеричном редакторе делает очевидным, что поток неполный.
Я надеюсь, что у кого-то возникли аналогичные трудности.
В: Создает ли сервер PDF-документы размером в несколько тысяч страниц или генерирует ли сервер несколько тысяч PDF-файлов? Является ли CLI для PHP-программы или веб-сайтом? Т.е. как это началось? И как долго он хранится в памяти? – 0scar
Многие страницы, не многие PDF-файлы. Это веб-интерфейс (mod_php) в Apache. Некоторая память возвращается, многое еще не возвращается до перезагрузки сервера. –