• Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    PDF-Export

    Fragen
    8
    41
    15.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AndyA
      Andy admin @rschi
      last edited by

      @rschi Z. B.: ChurchService // Druckansicht

      R 1 Reply Last reply Reply Quote 0
      • R
        rschi @Andy
        last edited by

        @Andy Merci!

        In dem Fall funktioniert es bei mir nicht.
        Kann mir jemand weiterhelfen, weshalb wohl?
        Habe, wie gesagt, die phantomjs im bin-Verzeichnis abgelegt und mit der testexec.php kriege ich die Meldung "Exec ist erlaubt".

        Hosting bei church.tools

        1 Reply Last reply Reply Quote 0
        • mhuberM
          mhuber ChurchToolsMitarbeiter
          last edited by

          @rschi In der Druckansicht des Ablaufplans sollte es dann oben rechts so aussehen:
          Bildschirmfoto 2015-11-05 um 07.39.17.png
          Mit dem linken Icon kannst Du drucken, mit dem rechten ein PDF erzeugen.
          Werden Dir beide Icons angezeigt? Wenn ja, kommt eine Fehlermeldung, wenn Du auf das PDF-Icon klickst?

          Das erzeugte PDF wird in einem extra Tab geöffnet. Ggf. fragt Dich der Browser, ob Du das zulassen möchtest - bis Du das gemacht hast wird auch nichts angezeigt.

          Ich habe in die Dropbox ein erweitertes Test-Script gelegt: testphantomjs.php, welches prüft, ob PhantomJS richtig installiert ist. Wenn alles richtig läuft, zeigt das Script die PhantomJS-Version an.

          R GlobeG 2 Replies Last reply Reply Quote 0
          • R
            rschi @mhuber
            last edited by

            @mhuber Vielen Dank für deine Bemühungen.

            Nein, mir wird nur das eine (Druck-) Symbol angezeigt. Das PDF-Icon fehlt.

            Habe das Script in das oberste Verzeichnis kopiert. Wenn ich es im Browser aufrufe, kriege ich die Meldung "Exec ist erlaubt , PhantomJS kann nicht ausgeführt werden."

            Hosting bei church.tools

            1 Reply Last reply Reply Quote 0
            • mhuberM
              mhuber ChurchToolsMitarbeiter
              last edited by

              @rschi Bitte prüfe mal, ob Deine Verzeichnis-Struktur wie folgt aufgebaut ist:

              |-- testphantomjs.php
              |-- index.php
              |-- system/
              |-- sites/
              |-- bin/
              .........|-- phantomjs

              Phantomjs muß im bin/ Verzeichnis liegen und muß ausführbar sein. Was zeigt
              "ls -la bin" ? Bitte ggf. "chmod a+x bin/phantomjs" im Wurzelverzeichnis ausführen, um Phantomjs ausführbar zu machen. Dann das Testscript nochmal im Browser aufrufen.

              R 1 Reply Last reply Reply Quote 0
              • R
                rschi @mhuber
                last edited by

                @mhuber Die Striktur sieht genau so aus, ausser dass ich auf das system-Verzeichnis einen symlink habe.
                Dies sollte ja aber kein Problem darstellen, oder?

                Wenn ich die testexec.php ausführe bekommt ich die Meldung "Exec ist erlaubt".
                Somit sollte Phantomjs ausführbar sein, oder nicht?

                Hosting bei church.tools

                1 Reply Last reply Reply Quote 0
                • mhuberM
                  mhuber ChurchToolsMitarbeiter
                  last edited by mhuber

                  @rschi Nein. Die Meldung "Exec ist erlaubt" gibt das Testskript aus, wenn PHP generell externe Programme aufrufen kann.
                  Wenn dann im Test ausgegeben wird, daß phantomjs nicht ausgeführt werden kann, liegt es daran, daß entweder phantomjs nicht gefunden wird (daher die Bitte, die Verzeichnisstruktur zu überprüfen), oder daß es nicht ausgeführt werden kann, weil Berechtigungen fehlen.
                  Daher bitte mal die Berechtigungen auf der Kommandozeile prüfen. Mit ssh oder Putty einloggen und

                  ls -la bin

                  ausführen. Dann werden Dir die Berechtigungen für phantomjs angezeigt - es muß so ähnlich aussehen (kannst das Ergebnis gerne hier posten):

                  rwxr-xr-x (username) (group) (size) (creation date) phantomjs

                  Wenn nicht drei x angezeigt werden, müsstest Du ebenfalls auf der Kommandozeile

                  chmod a+x bin/phantomjs

                  ausführen (ggf. mit sudo), um phantomjs ausführbar zu machen. Dann nochmal den Test durchführen.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    rschi @mhuber
                    last edited by

                    @mhuber Also, die Datei "phantomjs.exe" (hoffe, das ist die richtige und mit exe richtig benannt). 😏 befindet sich im Ordner "bin" und hat diese Rechte:
                    2015-11-05_105910.jpg

                    Kriege jedoch immer noch diese Meldung;
                    "Exec ist erlaubt , PhantomJS kann nicht ausgeführt werden. "

                    Hosting bei church.tools

                    1 Reply Last reply Reply Quote 0
                    • mhuberM
                      mhuber ChurchToolsMitarbeiter
                      last edited by

                      @rschi Ist das Linux/Unix System oder ein Windows-Server?

                      Wenn das ein Linux-basiertes System ist (Ubuntu, Centos, Debian, ...), das ist das die falsche Datei. phantomjs.exe ist für ein Windows-System! Für Linux brauchst Du das Paket phantomjs-1.9.2-linux-x86_64... oder ...i686... , je nachdem ob für ein 64-bit Linux oder ein 32-bit Linux. Findest Du mit uname -a raus.

                      Wenn das ein Windows-basiertes System ist, dann kann es aktuell noch nicht gehen, da der PDF-Export erst mit der kommenden Version 3.03 auch für Windows unterstützt wird.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        rschi @mhuber
                        last edited by

                        @mhuber Vielen Dank für die Hilfe und die Geduld!
                        Der Hoster gab mir zuerst an, dass es sich um ein 64bit-System handle. Als ich nochmals nachfragte, ist es nun ein 32bit-System. 🙂
                        Nun funktioniert es.

                        Hosting bei church.tools

                        AndyA 1 Reply Last reply Reply Quote 0
                        • AndyA
                          Andy admin @rschi
                          last edited by

                          @rschi Der nahezu täglich zitierte Vers in der krausen IT-Welt:

                          Kaum macht man es richtig, schon funktioniert es.

                          😉

                          Klasse, dass es jetzt geht!

                          1 Reply Last reply Reply Quote 0
                          • CCTC
                            CCT @mhuber
                            last edited by CCT

                            @mhuber sagte:

                            @CCT: wenn nichts angezeigt wird, hat sich mein Verdacht bestätigt: Euer Hoster hat die PHP-Settings so eingerichtet, daß standardmäßig nicht erlaubt ist, aus PHP heraus Kommandos auf der Shell auszuführen (mit exec()). Da solltet Ihr mal beim Service nachfragen, ob/wo Ihr das einstellen könnt. Wahrscheinlich ist der safe_mode aktiviert. In neueren PHP-Versionen gibt es den gar nicht mehr (ab PHP 5.4.0)

                            @mhuber: Unsere PHP VErsion ist > 5.4.0
                            PHP Version 5.5.26
                            MySQL Version 5.6.24

                            Wir fragen mal beim Support des Hosters nach.

                            1 Reply Last reply Reply Quote 0
                            • CCTC
                              CCT
                              last edited by CCT

                              @mhuber:
                              exec ist nur mit dem umschalten per cgi möglich. Konnte die beiden Testdateien nun auch erfolgreich ausführen. Alternativ geht auch phpx für die Testdateien.
                              Jetzt möchte ich ja nicht den kompletten Server auf CGI umstellen. Welche Verzeichnisse müssen dann per htaccess umgestellt werden?

                              Nur das bin Verzeichnis umgestellt führt weiterhin zu dem Fehler:
                              Not Found
                              The requested URL /sites/ct/files/downloader/Printview_9nZEGxdJKB.pdf was not found on this server.

                              1 Reply Last reply Reply Quote 0
                              • mhuberM
                                mhuber ChurchToolsMitarbeiter
                                last edited by

                                @CCT Du mußt wahrscheinlich das Verzeichnis umstellen, in welchem die Datei liegt, welche phantomjs ausführt. Das ist system/churchcore/classes/
                                Die betreffende Datei ist CTAbstractModule.class.php

                                1 Reply Last reply Reply Quote 0
                                • CCTC
                                  CCT
                                  last edited by CCT

                                  @mhuber Das hat auch nicht zum Erfolg geführt. Ich geb's auf. Vielleicht hat mal jemand Zeit sich das selbst anzuschauen ...

                                  Hilft das vielleicht weiter:
                                  http://all-inkl.com/wichtig/anleitungen/skripte/sonstiges/per-script/shellscripte-ausfuehren_304.html

                                  1 Reply Last reply Reply Quote 0
                                  • mhuberM
                                    mhuber ChurchToolsMitarbeiter
                                    last edited by

                                    @CCT Gerne können wir das offline weiter verfolgen, gerne auch telefonisch. Schreib mir doch bitte kurz an support@churchtools.de, dann habe ich Deine Kontaktdaten.

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      rschi @mhuber
                                      last edited by

                                      @mhuber Habe mich gestern glaub zu früh gefreut, als ich das PDF-Symbol auf der Druckansicht sah...

                                      Heute wollte ich effektiv mal einen PDF-Export erstellen, bekam dann diese Meldung:
                                      Fehler aufgetreten: Speichere Daten....churchservice: CTException: [0]: Could not execute phantomjs, Error code: 11

                                      Dein Testscript gab aber aus, dass die Ausführung möglich sei.

                                      Was ist da wohl noch nicht so ganz richtig?

                                      Hosting bei church.tools

                                      1 Reply Last reply Reply Quote 0
                                      • mhuberM
                                        mhuber ChurchToolsMitarbeiter
                                        last edited by mhuber

                                        @rschi Das sieht für mich so aus, als ob die Phantomjs-Version nicht zu Eurem Server paßt. Poste doch bitte mal folgende Infos:

                                        • Was gibt das testphantomjs.php aus, wenn Du es im Browser ausführst?
                                        • Was gibt ein "uname -a" auf der Kommandozeile aus?
                                        • Was gibt ein "ls -la bin/" auf der Kommandozeile aus?
                                        • Was gibt ein "file bin/phantomjs" auf der Kommandozeile aus?
                                        • Was gibt ein "ldd bin/phantomjs" auf der Kommandozeile aus?
                                        • Woher hast Du das phantomjs? Aus welchem Paket/Zip/Tar-File genau (wie heißt das Paket)?

                                        Dann kann ich besser einschätzen, wo das Problem liegt.

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          rschi @mhuber
                                          last edited by rschi

                                          @mhuber Also...

                                          • Wenn ich die testphantomjs.php ausführe, kriege ich diese Meldung:
                                            Exec ist erlaubt , PhantomJS Version: 1.9.2

                                          • Das phantomjs habe ich vom Link, welchen dur weiter oben angegeben hast (https://code.google.com/p/phantomjs/downloads/list) und davon die phantomjs-1.9.2-linux-i686.tar.bz2

                                          • Die Kommandos kann ich leider nicht ausführen. Habe beim Hoster nachgefragt, die sagen, ich könne das nicht, da ich keinen Zugriff habe. Und wenn sie das machen müssten, bräuchten sie genauere Infos.
                                            Zitat: das ist leider zu ungenau, bitte erfragen Sie dort nochmals welche Information genau sie benötigen, die Kollgen müssen Sich ja ein bestimmtes ergebnis hiervon erwaretn, bzw. bestimmte Dinge hiermit abfragen wollen

                                          Habe meine Seite übrigens auch bei HostEurope, wie ihr eure Hostings ja glaub auch. Vielleicht hilft das auch weiter.

                                          Kannst du mir evtl. sagen, welche Infos du genau brauchst, damit ich das dem Hosting-Support weiterleiten kann?

                                          PS: habe die 4 Fragen in der Zwischenzeit mal an den HE-Support gesendet.

                                          Hosting bei church.tools

                                          1 Reply Last reply Reply Quote 0
                                          • mhuberM
                                            mhuber ChurchToolsMitarbeiter
                                            last edited by

                                            @rschi Ich erhoffe mir von den Ausgaben der genannten Kommandos Hinweise zu bekommen, warum phantomjs mit einem Fehlercode 11 abstürzt. Error Code 11 ist üblicherweise ein SegFault, welcher auftreten kann, wenn das Programm nicht zu dem Betriebssystem paßt (weil z.B. bestimmt Bibliotheken fehlen, die zur Laufzeit benötigt werden).
                                            "ls" und "file" sollen testen, was denn da konkret im bin-Verzeichnis liegt - durch Deine Angabe des Paketes erübrigt sich das.
                                            Mit "uname -a" bekomme ich eine Aussage zum Betriebssystem und Kernel, 64 Bit vs. 32 Bit etc. => wichtig
                                            Mit "ldd bin/phantomjs" bekomme ich eine Übersicht aller benötigten Laufzeitbibliotheken, und ob diese alle verfügbar sind. => wichtig

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post