500 Внутренняя ошибка при использовании mpdf, нет журнала ошибок

В настоящее время я пытаюсь создать документ в формате PDF с ~ 230 страницами.

Версия PHP: 7.0.33 Версия mpdf: 8.0.8

1 страница выглядит как страница в этой скрипте (только разные данные): https://jsfiddle.net/hw90L2kd/ это мой php-код:

    setlocale(LC_TIME, "de_DE");

    require_once "../../vendor/autoload.php";
    require_once("../../020classes/Arrays.php");
    require_once("../../020classes/c_DB.php");
    $sql = "SELECT Verr_Rechnungen.*,pat.ZArt,pat.E_Nachrichten,adr.*
    FROM Verr_Rechnungen 
    LEFT JOIN pat ON (Verr_Rechnungen.AdrNr=pat.AdrNrPat)
    LEFT JOIN adr ON (Verr_Rechnungen.AdrNr=adr.AdrNr)
    WHERE  Rechnungsnummer >=".$_GET["rechnungsnummerstart"]." AND Rechnungsnummer <=".$_GET["rechnungsnummerende"]." 
    ORDER BY adr.FName,adr.VName,Land";

    $rs = $db->prepare($sql);
    $rs->execute(); //Im getting results from this

    $mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/temp']);
    
    while($row = $rs->fetch())
    {
        ob_start();
        $mpdf->AddPage();

        //here goes html page, which is generated with some php code

        $stylesheet = file_get_contents('rechnungRGDruck.css'); //same css as in the fiddle
        $mpdf->WriteHTML($stylesheet,1);
        $html = ob_get_contents();
        //send the captured HTML from the output buffer to the mPDF class for processing
        $mpdf->WriteHTML($html,2);
        ob_clean();
     }

$mpdf->Output("rechnungen.pdf","D");

У меня около 230 клиентов, для каждого из которых я создаю страницу в этом pdf-файле, но я всегда получаю 500 — внутренняя ошибка сервера при попытке создать ВСЕ страницы одновременно. Если я ограничу свой запрос, скажем, 150, это не проблема. Я уже ограничил время выполнения php и увеличил размер памяти до 512 МБ, чтобы попробовать, не в этом ли причина проблемы, но безуспешно. И даже если я использую

error_reporting(-1); // reports all errors
ini_set("display_errors", "1"); // shows all errors
ini_set("log_errors", 1);
ini_set("error_log", "php-error.log");

в верхней части файла я вообще не могу генерировать НИ ОДНОЙ ошибки, ни журнала, ничего. Только 500 - внутренняя ошибка сервера. из-за информации в этом сообщении php возвращает ошибку 500, но нет журнала ошибок я искал во всех файлах mpdf символ @ и ничего не заменил (просто чтобы попробовать, если после этого я получу какую-либо ошибку), но снова ничего.

Я пытался обновить PHP до версии 7.3, но это тоже не сработало.

Кто-нибудь знает, почему это происходит?


person Loggi    schedule 05.01.2021    source источник
comment
Вы включили ведение журнала ошибок в конфигурации PHP?   -  person ADyson    schedule 05.01.2021
comment
Так как это ошибка 500. Вы проверили журнал сервера we на наличие ошибок? Добавьте это в начало вашего скрипта, чтобы разрешить ошибки в скрипте. ini_set('display_errors', 1); ini_set('display_startup_errors', 1); отчет об ошибках (E_ALL);   -  person Jason K    schedule 05.01.2021
comment
Предупреждение: вы широко открыты для инъекций SQL и следует использовать параметризованные подготовленные операторы вместо создания запросов вручную. Они предоставляются PDO или MySQL. Никогда не доверяйте никаким данным! Даже доверенные пользователи вы по-прежнему рискуете повредить свои данные. Экранирования недостаточно.   -  person Jason K    schedule 05.01.2021
comment
Куда пишется лог-файл? Может ли веб-сервер создать его или даже записать на него?   -  person Jason K    schedule 05.01.2021
comment
@ADyson ADyson да, я включил ведение журнала. Пожалуйста, проверьте второе поле кода в теме выше.   -  person Loggi    schedule 05.01.2021
comment
@JasonK Я уже включил ведение журнала и поместил файл журнала в каталог, где его можно записать, я включил ошибки запуска, но все равно не получил никакого сообщения об ошибке или ошибки в журнале.   -  person Loggi    schedule 05.01.2021
comment
Вы проверяли журнал веб-сервера? Если вы используете apache под linux, он будет находиться в /var/log/apache2/error.log, он будет содержать любые ошибки, которые препятствуют запуску php.   -  person Jason K    schedule 05.01.2021
comment
К сожалению, мой хостер не использует apache, поэтому каталога var/log/apache2 нет.   -  person Loggi    schedule 05.01.2021
comment
Ну должен быть эквивалентный журнал. Какой веб-сервер они используют?   -  person ADyson    schedule 05.01.2021
comment
@ADyson Это хороший вопрос, мне нужно задать его хозяину.   -  person Loggi    schedule 05.01.2021
comment
@ADyson из-за соображений безопасности мой хост не может предоставить мне эту информацию, а это значит, что мне нужно найти другой способ выполнить эту работу. Большое спасибо за вашу помощь и хорошего дня!   -  person Loggi    schedule 07.01.2021
comment
ИМО это смешно. Если вы размещаете что-то на их сервере, у вас есть законная необходимость знать, на какой технологии вы это используете. Лично я хотел бы найти более гостеприимную хостинговую компанию.   -  person ADyson    schedule 07.01.2021