html2PDF работает на локальном компьютере, но не создает PDF на сервере (пустая страница) - PullRequest
1 голос
/ 14 марта 2019

Я занимаюсь программированием с 2-х лет и изучаю cakePHP уже несколько недель, и я на самом деле стажируюсь, пытаясь развернуть сайт.

У меня проблемы с Html2PDF, так как он хорошо работает на локальной версии, но не на сервере (открывается новая страница с правильным URL-адресом, но PDF-файл пуст).

вновь открытая пустая страница содержит это сообщение об ошибке (отображается на консоли отладки f12):

Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера)

код Html2PDF:

function exportFicheVie() {
    $Equipement = $this->Equipement->getEquipement($_GET['Id']);
    $PersonnesRessources = $this->Equipement->getPersonnesRessourcesOfEquipement($_GET['Id']);
    $Prestataire = $this->Equipement->getPrestataireOfEquipement($_GET['Id']);
    $Verifications = $this->Equipement->getVerif($_GET['Id']);
    $Contrat = $this->Equipement->getContrat($_GET['Id']);
    if (count($Contrat)==0)
        $Contrat[0] = "Non";

    $Vide = array(
        "Prenom"=>"",
        "Nom"=>"",
        "NumPoste"=>"",
        "Mail"=>"",
        "Adresse"=>"",
        "Fax"=>"",
        "Telephone"=>""
    );

    if (count($PersonnesRessources)==0)
        $PersonnesRessources = array($Vide, $Vide);
    elseif (count($PersonnesRessources)==1)
        $PersonnesRessources[] = $Vide;

    if (count($Prestataire)==0)
        $Prestataire = $Vide;

    // convert in PDF
    require_once(__DIR__.'/../webroot/theme/plugins/html2pdf/vendor/autoload.php');    
    try
    {
        $Html2pdf = new HTML2PDF('P', 'A4', 'fr');
        $NbPages = $Html2pdf->pdf->getAliasNbPages();
        $NumPage = $Html2pdf->pdf->getAliasNumPage();
        include($Html2pdf->getHtmlFromPage(__DIR__.'/../View/Equipements/export_fiche_vie.ctp', $Equipement, $PersonnesRessources, $Prestataire, $NbPages, $NumPage));

        $Content = ob_get_clean();
        //$Html2pdf->setModeDebug();
        $Html2pdf->addFont('Century Gothic', 'normal', __DIR__.'/../webroot/theme/plugins/html2pdf/vendor/tecnickcom/tcpdf/fonts/centurygothic.php');
        $Html2pdf->addFont('Century Gothic Bold', 'normal', __DIR__.'/../webroot/theme/plugins/html2pdf/vendor/tecnickcom/tcpdf/fonts/centurygothic.php');
        $Html2pdf->setDefaultFont('Century Gothic');
        $Html2pdf->writeHTML($Content, isset($_GET['vuehtml']));
        $Html2pdf->Output('\FS-'.$_GET['Id'].'.pdf');
    }
    catch(HTML2PDF_exception $e) 
    {
        echo $e;
        exit;
    }
}

Я не ожидаю чудесного ответа, потому что этот вопрос часто появляется без какого-либо четкого решения, но любые подсказки, советы или предположения будут приветствоваться. Это мой первый раз, когда я размещаю веб-сайт на реальном сервере, они могут быть очевидны вещи, которые я скучаю.

...