PHP TCPDF: добавление изображений происходит очень медленно - PullRequest
0 голосов
/ 01 октября 2019

Я столкнулся с проблемой с TCPDF. При установке XAMPP внезапно встраивание изображений занимает более 10 секунд.

Пример кода выглядит следующим образом:

    $image_file = __DIR__ . '/img/LOGO.jpg';
    $img = file_get_contents($image_file);

    // This line takes 11 secs
    $this->Image('@' . $img, 15, 5, 30);

Это нормально работало с хорошей скоростью. Теперь внезапно стало очень медленно.

Есть идеи?

Обновление: я профилировал код и обнаружил, что tempnam занимает очень много времени. Как 65 000 файлов в каталоге временных файлов. Может ли это быть проблемой?

1 Ответ

2 голосов
/ 02 октября 2019

После профилирования кода обнаружена проблема, связанная с функцией tempnam, вызываемой внутри библиотеки TCPDF. Это заняло около 20 секунд.

Погрузился во временную папку TCPDF и увидел в ней 65 000 файлов. Эти временные файлы были созданы TCPDF, но не очищены. Поэтому после интенсивного использования производительность XAMPP снижалась при необходимости записи в эту папку.

После перемещения этих временных файлов все, казалось, работало замечательно!

...