laravel snappy pdf: при получении ошибки файл не был создан - PullRequest
0 голосов
/ 14 февраля 2020

В моей базе данных около 1500 студентов, и мне нужно сгенерировать счет для каждого. Для этой цели я использую эту библиотеку https://github.com/barryvdh/laravel-snappy. Когда я пытаюсь сгенерировать, я получаю эту ошибку:

Файл '/ var / www/skmpastebimaslt/public_html/storage/checks/24767 Dominykas Butkevičius 1581703819.pdf' не был создан (команда: / usr / local / bin / wkhtmltopdf --lowquality '/ tmp / knp_snappy5e46e28b5d61f2.13362077. html '' / var / www/skmpastebimaslt/public_html/storage/checks/24767 Доминикас Буткевиус 1581703819.pdf ').

https://gyazo.com/3a3f60713601a663a1360cd65fee9914

Счета создаются для четыре пользователя, то приложение вылетает. Самое интересное, что, хотя ошибка говорит о том, что файл не был создан, но он был создан, я могу найти его в своей папке хранения.

Мой код:

public function saveCheckPdf(Student $student, Check $check = null, $fileName = null)
{
    if (empty($fileName)) {
        $fileName = 'kvitas_' . time() . '.pdf';
    }
    $path = storage_path('checks/' . $fileName . '.pdf');
    $this->renderCheckPdf($student, $check)->save($path);
    return $path;
}

private function renderCheckPdf(Student $student, Check $check = null)
{
    $bills = $this->billRepository->getCurrentSeasonBills($student->id);
    $payments = $this->paymentRepository->getCurrentSeasonPayments($student->id);

    $fileName = $student->fullname . ' kvitas';
    $billsSum = $bills->sum('sum');
    $paymentsSum = $payments->sum('sum');

    if (empty($check)) {
        $check = !empty($student->checks[0]) ? $student->checks[0] : false;
    }

    return newPDF::loadView('student.check_pdf', compact('student', 'payments', 'bills', 'billsSum', 'paymentsSum', 'fileName', 'check'));
}

Тогда я просто l oop через каждого пользователя и вызовите метод saveCheckPdf в моем контроллере следующим образом

$this->pdfService->saveCheckPdf($student, null, $student->id . ' ' . $student->fullname . ' ' . time());

Может быть, кто-нибудь сталкивался с такой же проблемой?

...