Ankündigung

Einklappen
Keine Ankündigung bisher.

Composer (TMP Ordner?)

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

    Composer (TMP Ordner?)

    Hallo beisammen!

    Ich nutzte bisher Html2pdf (https://github.com/spipu/html2pdf/bl...doc/install.md).
    Jetzt muss ich ja von PHP 5.x auf 7.2 migrieren - da ist eine neue Installation von Html2pdf nötig.

    Und da beginnen die Probleme ...

    Denn hierfür muss ich Composer nutzen.

    Habe ich installiert. Zweimal.
    Einmal im Testverzeichniss, einmal im Root.
    (Tarif: ManagedHosting Medium)

    Wenn ich danach Html2pdf installiere (https://packagist.org/packages/spipu/html2pdf) läuft die Installation einwandfrei durch.

    Aber beim Aufruf einer Beispielsdatei/Testdatei (direkt von Html2pdf) kommt:
    "Warning: opendir(/tmp/): failed to open dir: Permission denied in /kunden/222772_84172/_BE/vendor/tecnickcom/tcpdf/tcpdf.php on line 7791"

    Im GitHub-Forum zu Html2pdf habe ich das Probelm gepostet (siehe https://github.com/spipu/html2pdf/is...ment-545403103) und erhielt zur Antwort:

    Do you use composer, with last version? It's a TCPDF error, and this error was corrected a long time ago...
    Or you don't have RW permission on /tmp/ ?
    Nur sehe ich gar nirgends ein tmp-Verzeichnis.

    Wo ist denn da mein Denkfehler?






    Noch eine zweite Frage.

    In der Installations-Anleitung steht am Ende:

    And on production ?

    You have not to install composer on your production server.

    You have to install composer only on your dev environement. Composer is a dev tool.

    To deliver you app on a server, you have to (on you dev environement) :
    • Git clone the tag/branch that you want to deliver
    • Launch the command composer install --no-dev
    • Remove the useless files (like the .git folder)
    • Zip all

    That's all, you have a beautifull package that can be deliver on a server !
    Das ist auch etwas, das ich nicht verstehe.

    Ich habe mit der Welt von GitHub sonst nix zu tun ... daher bin ich echt unsicher, wie ich die Anwendung (so sie denn läuft) später nutzen kann/darf - habe ich überhaupt verschiedene Server?

    Vielleicht ist das ja nur ein begriffliches Mißverständnis.

    Ich habe natürlich verschiedene Projekte in jeweils eigenen Ordnern - das ist halt mein Denken, in der FTP-Welt.

    Es wäre super nett, wenn mich da jemand ein bisschen aufklären könnte.

    Mein Verständnis ist aktuell: Ich installiere Composer und darin Html2Pdf dort, wo ich's haben will und greife dann darauf zu.

    Richtig?


    Danke und herzliche Grüße
    Anton

    #2
    Hallo Anton,

    wir haben HIER eine Anleitung zur Verfügung gestellt.

    Beim Aufruf vom Composter sollten Sie mit dem Paramater -c eine PHP.ini übergeben, wo ein TMP-Verzeichnis angegeben ist, auf welches Sie Lese- und Schreibrechte besitzen.
    Eventuell löst sich damit auch Ihre zweite Frage entsprechend.
    Blog - Facebook - Twitter
    Communitybetreiber: domainfactory GmbH
    Impressum / Pflichtangaben

    Kommentar


      #3
      Zitat von Marcel Kaufmann Beitrag anzeigen
      Hallo Anton,

      wir haben HIER eine Anleitung zur Verfügung gestellt.

      Beim Aufruf vom Composter sollten Sie mit dem Paramater -c eine PHP.ini übergeben, wo ein TMP-Verzeichnis angegeben ist, auf welches Sie Lese- und Schreibrechte besitzen.
      Eventuell löst sich damit auch Ihre zweite Frage entsprechend.
      Ah! Danke, Herr Kaufmann.

      Ja, den besagten Link zum Postig von Enigma hatte ich schon gefunden.

      Und ich bin auch der Installations-Anleitung innerhalb dieses Threads gefolgt, nur weiter unten, da stand im Posting #13 die aktuelle Fassung für PHP 7.2 (siehe https://forum.df.eu/forum/user-f%C3%...?p=976#post976):

      Zitat von [headcrash] Beitrag anzeigen
      ...
      Update für die Installation unter PHP 7.2.x
      1. Laden Sie Composer...
        curl -s http://getcomposer.org/installer | php72
      2. ...und tragen Sie anstatt der o.g. Zeilen die folgenden in der .bashrc ein:
        alias php72cli='/usr/local/bin/php7.2.3-cli -c /etc/php.ini' alias composer='php72cli ~/composer/composer.phar'
      3. Sollten sich in der Datei .bashrc Einträge vorhanden sein, die auf eine ältere PHP-Version hinweisen, kommentieren Sie diese mit '#' aus oder löschen Sie diese. Schließen Sie die Installation unbedingt mit folgendem Befehl ab:
        source .bashrc
      Das habe ich so gemacht.

      Und jetzt - wo Sie es schreiben - sehe ich auch dieses "etc/php.ini". Diesen Ordner gibt es bei mir natürlich nicht ... jetzt wird es klarer.
      Aber wo ist denn meine PHP.INI bzw. was muss ich denn genau statt dessen in die .bashrc eintragen?

      Zuletzt geändert von Anton Korduan; 24.10.2019, 12:34.

      Kommentar


        #4
        Hallo Anton,

        Zitat von Anton Korduan Beitrag anzeigen
        Und jetzt - wo Sie es schreiben - sehe ich auch dieses "etc/php.ini". Diesen Ordner gibt es bei mir natürlich nicht ... jetzt wird es klarer.
        Aber wo ist denn meine PHP.INI bzw. was muss ich denn genau statt dessen in die .bashrc eintragen?
        Bei der Angabe müssten Sie nur den Pfad angeben, wo sich die PHP.ini auf Ihrem Webspace befindet:

        Code:
        alias php72cli='/usr/local/bin/php7.2.3-cli -c /etc/php.ini' alias composer='php72cli ~/composer/composer.phar'
        Die Zeile könnte als wie folgt aussehen:

        Code:
        alias php72cli='/usr/local/bin/php7.2.3-cli -c /kunden/xxx_xxx/php.ini' alias composer='php72cli ~/composer/composer.phar'


        Blog - Facebook - Twitter
        Communitybetreiber: domainfactory GmbH
        Impressum / Pflichtangaben

        Kommentar


          #5
          Zitat von Marcel Kaufmann Beitrag anzeigen
          Bei der Angabe müssten Sie nur den Pfad angeben, wo sich die PHP.ini auf Ihrem Webspace befindet
          Ja, das ist mir klar.

          Daher war auch meine abschließende Frage (und ist es noch):
          Aber wo ist denn meine PHP.INI?

          Denn ich kann diese nicht finden - kann es sein, dass ich darauf keinen Zugriff habe bei meinem Paket?
          Oder wo liegt die PHP.INI denn normalerweise?

          Kommentar


            #6
            Hallo Anton,

            Zitat von Anton Korduan Beitrag anzeigen
            Daher war auch meine abschließende Frage (und ist es noch):
            Aber wo ist denn meine PHP.INI?

            Denn ich kann diese nicht finden - kann es sein, dass ich darauf keinen Zugriff habe bei meinem Paket?
            Oder wo liegt die PHP.INI denn normalerweise?
            Eine eigene PHP.ini können Sie in Ihrem Kundenmenü (admin.df.eu) im Menüpunkt "PHP-Einstellungen" erstellen. Um eine eigene PHP.ini auf Ihrem Webspace abzulegen, können Sie den "PHP.ini-Generator" erstellen und auf Ihrem Webspace ablegen. Diese sprechen Sie dann in der von mir genannten Zeile an.


            Blog - Facebook - Twitter
            Communitybetreiber: domainfactory GmbH
            Impressum / Pflichtangaben

            Kommentar


              #7
              Alles klar - danke Herr Kaufman, das probiere ich aus.

              Kommentar


                #8
                Hallo, Herr Kaufmann.

                Bin gerade dabei und arbeite mich durch den PHP.INI-Editor.

                Dabei sind viele Einstellungen von denen ich keine Ahnung habe.
                Das wäre auch kein Problem, ich muss aber sicherstellen, dass mein laufendes System nicht davon negativ betroffen ist.

                Daher meine Frage:
                Wenn ich die Standard-Vorgaben des PHP.INI-Editors unverändert übernehme, habe ich dann sicher (!) die selben Einstellungen, wie vorher?

                Zusatzfrage:
                Da ich ja die PHP-Version der PHP.INI einstellen kann (7) werden vermutlich die alten PHP-Versionen (5) sowieso davon unberührt sein, richtig?

                Danke für Ihre Unterstützung.

                Kommentar


                  #9
                  Hallo Anton,

                  Zitat von Anton Korduan Beitrag anzeigen
                  Hallo, Herr Kaufmann.
                  Bin gerade dabei und arbeite mich durch den PHP.INI-Editor.

                  Dabei sind viele Einstellungen von denen ich keine Ahnung habe.
                  Das wäre auch kein Problem, ich muss aber sicherstellen, dass mein laufendes System nicht davon negativ betroffen ist.

                  Daher meine Frage:
                  Wenn ich die Standard-Vorgaben des PHP.INI-Editors unverändert übernehme, habe ich dann sicher (!) die selben Einstellungen, wie vorher?

                  Zusatzfrage:
                  Da ich ja die PHP-Version der PHP.INI einstellen kann (7) werden vermutlich die alten PHP-Versionen (5) sowieso davon unberührt sein, richtig?
                  Wenn Sie die PHP.ini für eine Domain ändern bzw. anlegen, dann greift diese PHP.ini nicht bei Ihnen auf der Shell genauso wie die PHP-Version.
                  Sie kopieren sich also den Inhalt der PHP.ini oder nutzen den PHP.ini-Generator und legen diese einzelne PHP.ini auf dem Webspace ab. Danach passen Sie den Pfad zur PHP.ini an und das von Ihnen gewünschte Ziel sollte erreicht sein.

                  Alternativ können Sie auch einen Auftrag für zusätzliche Leistungen erstellen und die technische Abteilung führt die Installation für Sie durch.
                  Blog - Facebook - Twitter
                  Communitybetreiber: domainfactory GmbH
                  Impressum / Pflichtangaben

                  Kommentar


                    #10
                    Anton Korduan
                    Hier kannst du nachlesen welche Direktive welche Änderungen bewirkt.
                    https://www.php.net/manual/de/ini.list.php
                    MfG,
                    masterframe

                    Kommentar


                      #11
                      Zitat von masterframe Beitrag anzeigen
                      Hier kannst du nachlesen welche Direktive welche Änderungen bewirkt.
                      https://www.php.net/manual/de/ini.list.php
                      Danke, Masterframe.



                      Zitat von Marcel Kaufmann Beitrag anzeigen
                      Sie kopieren sich also den Inhalt der PHP.ini oder nutzen den PHP.ini-Generator und legen diese einzelne PHP.ini auf dem Webspace ab.
                      Mit Webspace meinen Sie den jeweiligen Ordner meines Projekts - ich kann dann also mehrere PHP.INI-Dateien haben, korrekt?

                      Meine Frage blieb aber unbeantwortet:
                      Wenn ich die Standard-Vorgaben des PHP.INI-Editors unverändert übernehme, habe ich dann sicher (!) die selben Einstellungen, wie vorher?

                      Ich formuliere gerne anders:

                      Wenn ich eine PHP.INI erstelle und diese in meinen WebSpace ablege, dann bewirkt das erstmal keinerlei Veränderungen (weil ich die Standardvorgaben übernommen habe), richtig?

                      Kommentar


                        #12
                        Zitat von Anton Korduan Beitrag anzeigen
                        Ich formuliere gerne anders:

                        Wenn ich eine PHP.INI erstelle und diese in meinen WebSpace ablege, dann bewirkt das erstmal keinerlei Veränderungen (weil ich die Standardvorgaben übernommen habe), richtig?
                        Das ist falsch! Die Prioritäten sind klar geregelt: Zuerst wird im entsprechenden Verzeichnis gesucht, dann in den Einstellungen für die Domain und erst dann die Globale berücksichtigt (wenn die andern fehlen)!
                        Ausnahme ist bei FastCGI - da wird keine lokale php.ini im Verzeichnis berücksichtig!
                        Nachzlesen hier: https://www.df.eu/int/support/df-faq...-editor/#c1468

                        Gruss Rolf
                        Zuletzt geändert von wsp; 29.10.2019, 12:20.

                        Kommentar


                          #13
                          Zitat von Anton Korduan Beitrag anzeigen
                          Wenn ich eine PHP.INI erstelle und diese in meinen WebSpace ablege, dann bewirkt das erstmal keinerlei Veränderungen (weil ich die Standardvorgaben übernommen habe), richtig?
                          Eine php.ini im Webspace wirkt sich nur auf das Vereichnis aus, in dem sie liegt (im Gegensatz zur .user.ini). Legst Du sie also in einem leeren Verzeichnis ab, ändert sich für Deine Website gar nichts.

                          Zudem wirkt sich eine php.ini im Webspace nur auf HTTP(S)-Zugriffe aus. Liegt die php.ini in einem Verzeichnis, das über das Web gar nicht erreichbar ist, was in diesem Fall empfehlenswert wäre , so ist ohnehin nichts zu befürchten. Die Zugriffe, für die Du die php.ini benötigst, erfolgen über die Konsole / das Dateisystem.

                          Gruß
                          Jan
                          Two hours of trial and error can save ten minutes of manual reading.

                          Kommentar


                            #14
                            Zitat von Marcel Kaufmann Beitrag anzeigen
                            Beim Aufruf vom Composter
                            Netter Vertipper.

                            Gruß
                            Jan
                            Two hours of trial and error can save ten minutes of manual reading.

                            Kommentar


                              #15
                              Ah! Danke für die Aufklärung, Jan und Rolf.

                              Jetzt verstehe ich das Prinzip. Ok.

                              Vielleicht eine blöde Frage ... aber was ist, wenn ich den Verweis auf die PHP.INI bei der Composer-Installation weg lasse?

                              Denn bisher hatte ich ja den falschen "etc"-Pfad aus der Vorlage verwendet, der bei mir ja nicht existiert.
                              Und ich kann aber via shell den composer aufrufen und er scheint zu funktionieren.

                              Jedenfalls wurde html2pdf installiert.

                              Muß ich mir da Gedanken machen oder kann ich auch so weiter wursteln, ohne PHP.INI?

                              Kommentar

                              Lädt...
                              X