Installation - Warum wird kein PDF-Dokument erzeugt?

Aus FjwLay
Zur Navigation springen Zur Suche springen


zu:


Das Programm-Paket php-fpdf

In der Datei Cert.php wird das PHP-Modul fpdf.php geladen.
Es gehört zum Programm-Paket php-fpdf:

   require("fpdf.php");

Dabei wird erwartet, dass das PHP-Modul im gleichen Verzeichnis wie Cert.php liegt
oder gemäß dem include_path im Verzeichnis /usr/share/php/fpdf installiert ist.
Wenn nicht, wird keine Urkunde generiert. Es gibt vier Möglichkeiten, Abhilfe zu schaffen:

* Installation aus der Distribution
* Kopieren oder Verlinken des bereits vorhandenen Pakets 
* Link auf fpdf.php ins Projektverzeichnis legen
* Anpassung der require()-Anweisung

Installation aus der Distribution

Wenn man das PHP-Paket php-fpdf aus der Distribution installiert, sollte es in /usr/share/php/
zu liegen kommen. Über den include_path = ".:/usr/share/php" wird dann fpdf.php gefunden.

Die Installation erfolgt über das Kommando:

Debian oder Ubuntu

   $ apt-get -y install php-fpdf

RedHat

   $ dnf -y install php-fpdf

Danach befinden sich die folgenden zwei zusätzlichen Einträge in /usr/share/php vorhanden:

    drwxr-xr-x     fpdf
    lrwxrwxxrwx    fpdf.php -> fpdf/fpdf.php

Kopieren oder Verlinken des bereits vorhandenen Pakets

Falls das Paket nicht aus der Distribution geladen werden kann, aber Schreibrechte auf das Verzeichnis
/usr/share/php existieren, kann ein bereits vorhandenes php-fpdf-Paket verlinkt werden:

    $ cd /usr/share/php
    $ ln -sf <path_to_fpdf> fpdf
    $ ln -sf fpdf/fpdf.php fpdf.php

Link auf fpdf.php ins Projektverzeichnis legen

Wenn man Links erzeugen kann, hilft es, die Datei fpdf.php in das gleiche
Verzeichnis zu verlinken, in dem *Cert.php* liegt:

    $ cd <projektverzeichnis>
    $ ln -sf <path-to_fpdf>/fpdf.php fpdf.php

Anpassung der require()-Anweisung

Falls keine Möglichkeit besteht, die o. g. Links zu erstellen (Zugriff via ftp/sftp),
kann die Pfadangabe auch in der Datei Cert.php in der request()-Anweisung gesetzt
werden (Beispiel):

    request("../../fpdf.php");