[PHP5] Problem mit PDFLib

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Problem mit PDFLib

    Moin !
    Habe bei mir lokal PDFLIB 7.0.X installiert.
    Nun möchte ich mir PDF Dokumente via Cronjob erstellen lassen.
    Leider klappt das nicht...
    Rufe ich das Programm via Browser auf, so läuft alles ohne Probleme.
    Im Cronjob leider nicht.

    Der Cronjob ist korrekt eingerichtet. Habe mir mal zum Spaß alle 5 Minuten ein Email geschickt... -> klappt.

    Leider weiß ich nicht, wo evtl. Fehlermeldungen protokolliert werden.
    in den Standard Error.logs auf jeden Fall nicht.

    Hier mal der Code:

    PHP-Code:
    #! /usr/bin/php5
    <?php
    $p 
    = new PDFlib();
    $p->set_parameter("serial""mein lizenzschlüssel");
    $p->begin_document("""");

    $p->set_info("Creator""hello.php");
    $p->set_info("Author""Rainer Schaaf");
    $p->set_info("Title""Hello world (PHP)!");
    $p->begin_page_ext(595,843"");
    $font $p->load_font("Helvetica""winansi""");
    $p->set_text_pos(80680);
    $p->setfont($font10.0);
    $p->continue_text("hallo");
    $p->end_page_ext("");

    $p->end_document("");

    $buf $p->get_buffer();
    $len strlen($buf);

    // erst temp speicehrn
    $speichern=fopen("/var/www/vhosts/zentrale/html/pdfs/".time()."_dokument.pdf","w");
    fputs($speichern,$buf);
    fclose($speichern);
    //nun fix speichern
    $speichern=fopen("/var/www/vhosts/zentrale/html/pdfs/fix/".time()."_dokument.pdf","w");
    fputs($speichern,$buf);
    fclose($speichern);
    ?>
    Eine Fehlerausgabe kann ich leider nicht liefern...
    Hat da jemand wohl eine Idee?

    Danke!

  • #2
    Re: [PHP5] Problem mit PDFLib

    Original geschrieben von jonas01
    Eine Fehlerausgabe kann ich leider nicht liefern...
    warum das denn nicht? geheimnis? error_reporting hochgestellt?

    Kommentar


    • #3
      Weil ich nicht weiss wo die Fehler, die ein Cronjob generiert, hingeschrieben werden.
      in die Log Datei, die in der php.ini angegeben ist auf jeden Fall nicht

      Wie gesagt: Über Browser geht das ohne Problem oder Fehler.

      Kommentar


      • #4
        dann schreib mal an den anfang:
        PHP-Code:
        touch("script_wird_ueberhaupt_ausgefuehrt"); 
        wird die datei nach einem cronjob erstellt?

        Kommentar


        • #5
          Jawoll...
          Datei wurde erfolgreich angelegt...

          Kommentar


          • #6
            dann darfst du in die datei mittels php_put_contents() alles hineinschreiben, was man zwecks debugging wissen möchte - einfach

            print_r($fragwürdige_variable, true)

            in die datei (immer schön mittels cron) schreiben. vielleicht stellt sich dabei heraus, was dabei fehlschlägt (ich tippe auf ein rechte problem beim schreiben der pdfs).

            Kommentar


            • #7
              Hi!

              habe das nun mal gemacht, so wie Du mir das geschrieben hast...
              Datei bleibt leer.

              Nun habe ich mir über das "rechteproblem" meine Gedanken gemacht...

              habe nun den cronjob geändert, so dass der cron lediglich ein Verzeichnis anlegt.

              auch das funktioniert nicht.

              Den Cronjob habe ich unter "/etc/crontab" angelegt.... also als Benutzer "root".

              Bin nun so langsam am verzweifeln, da ich überhaupt nicht weiss, wo ich ansetzen soll...

              Kommentar


              • #8
                Problem habe ich nun selbst eingegrenzt....
                Habe das Programm mal von der Konsole aus gestartet..

                PHP-Code:
                Fatal error: Class 'PDFlib' not found in /var/www/vhosts/zentrale/html/cronjob/testcron.php on line 15 
                Und wie bekomme ich nun die Klasse includiert?

                Kommentar


                • #9
                  Original geschrieben von jonas01
                  Und wie bekomme ich nun die Klasse includiert?
                  Tja, wo machst du es denn, wenn du das Script im Browser aufrust ...?
                  Davon ist gar nichts zu sehen, nutzt du die AutoLoading-Möglichkeit von PHP5?

                  Include ins Script selber setzen, und Pfad anpassen wäre wohl am einfachsten.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Generell bei eigenen Klassen nutze ich schon die autoload funktion.

                    Nur hier stehe ich gerade auf dem Schlauch, da ich nicht weiß WAS ich von WO laden soll.....

                    das einzifste was ich gemacht habe um PDFLib zu installieren war , dass ich eine "pdflib.so" Datei in meinen Extesions Ordner auf den Server kopiert habe und dann die einstellung vorgenommen habe, dass diese .so Datei beim Starten mit geladen werden soll...

                    Kommentar


                    • #11
                      Falls es jemanden interessiert:
                      Das Problem ist nun gelöst.

                      Beim Aufruf des PHP Scripts via Cronjob muss vor dem eigentlichen Aufruf die php.ini mit eingebunden werden, damit das Linux Modul für die pdflib ebenfalls geladen wird.

                      Das war alles...

                      Kommentar

                      Lädt...
                      X