Ankündigung

Einklappen
Keine Ankündigung bisher.

GeoIP2 einbinden

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von chorn Beitrag anzeigen

    Ja. Vereinfacht steht da folgender Prozess hinter: Alle Änderungen liegen im GIT, ein bestimmte Version davon wird getestet und abgenommen, ggf. getagt (1.0, 2.0, ...). Die abgenommene Version wird dann auf das Produktivsystem deployed, im Hintergrund kopiert GIT die Dateien dann rüber. Da gibt es einen Haufen Wege wie man das bewerkstelligen kann, wenn dich das interessiert such mal nach "git deploy".
    Deine vendors - denn um die dreht es sich hier - sind auch im git ?

    Kommentar


    • #17
      Zitat von tomBuilder Beitrag anzeigen
      Deine vendors - denn um die dreht es sich hier - sind auch im git ?
      Was haben die Vendors jetzt mit git zu tun?

      Wenn diese dort benötigt werden kommen sie dahin, wenn nicht benötigt müssen sie auch nicht ins Repo.

      Nachtrag:

      Ich glaube verstanden zu haben warum Du das fragst: mal sehen…

      Du denkst das vendor prinzipiell nicht ins Repository gehört?

      Wenn ja, nein das ist so nicht korrekt. Das kommt darauf an um was für ein Project es sich handelt. Wenn ich eine Library z.B. zur Weiterverwendung für andere Entwickler baue dann gehe ich davon aus das der Entwickler der meinen Kram nutzen will auch dazu befähigt ist die nötigen Werkzeuge einzusetzen also gibts dort nur die composer.json. Wenn ich aber eine z.B. eine Webanwendung für Endnutzer in meinem Repository habe dann wär es fatal hier zu erwarten das der Endanwender sich composer installiert! Der will alles runterladen, configurieren, fertsch

      Kommentar


      • #18
        Mit "Vendors" meinst du die Pakete die Composer z.B. von GitHub runterlädt? Dann ja, die gehören mit ins GIT, wenn die Software diese Pakete unbedingt braucht. Es geht ja auch darum, die in der richtigen Version vorliegen zu haben, mit der getestet wurde. Und die dürfen halt auch nicht mal einfach so verschwinden, nur weil der Maintainer keinen Bock mehr hat (Paket gelöscht). Dann auf dem Produktivsystem zu updaten wäre ja fatal.
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #19
          Zitat von Messier 1001 Beitrag anzeigen

          Du denkst das vendor prinzipiell nicht ins Repository gehört?

          Wenn ja, nein das ist so nicht korrekt. Das kommt darauf an um was für ein Project es sich handelt. Wenn ich eine Library z.B. zur Weiterverwendung für andere Entwickler baue dann gehe ich davon aus das der Entwickler der meinen Kram nutzen will auch dazu befähigt ist die nötigen Werkzeuge einzusetzen also gibts dort nur die composer.json. Wenn ich aber eine z.B. eine Webanwendung für Endnutzer in meinem Repository habe dann wär es fatal hier zu erwarten das der Endanwender sich composer installiert! Der will alles runterladen, configurieren, fertsch
          Ich bin weiterhin der Meinung, ja.

          Bei dem was Du LiB nennst, sind wir wohl der gleichen Meinung, überspringen wir das also.
          Jede nicht auf ein Project begrezte Funktionalität lagere ich in ein eigenes Repo aus, diese installiere ich auch über den Composer.
          Dadurch habe ich eine recht übersichliche Versionierung.

          Ein Repositry mit allen Vendor Files halte ich für unübersichtlich und vor allem fallen da Änderungen an, an denen ich nicht entwickle, welche also auch nicht da rein gehören.
          Vendorfiles blähen zudem das Repositry auf, In heutigen Zeiten ja wohl egal.

          Endanwender bekommen von mir entweder das ganze installiert (mit composer), oder zwei zip Files (vendor inclusive Composer.json) und das eigentliche Project.
          Diese bereite ich vor mit Composer, nicht über git.

          Zwei Fragen noch zu Eurem Vorgehen:

          - checked Ihr alle Dateien in Vendor ein inclusive Tests uä. oder wie filtert Ihr?
          - da Vendor Files nicht ins DocRoot gehören, wie lösst Ihr das Problem mit unterschiedlichen Bezeichnungen des Docroot und/oder einem Verbot von softlinks im Webserver?

          Es geht ja auch darum, die in der richtigen Version vorliegen zu haben, mit der getestet wurde.
          wenn getested wurde, liegen Sie vor chorn

          https://getcomposer.org/doc/faqs/sho...r-directory.md

          Kommentar


          • #20
            Zitat von Messier 1001 Beitrag anzeigen
            Das spielt keine Rolle. Mach es ordentlich oder lass es!
            Schade, dass man hier, wenn man sich selbst demütig als Einsteiger deklariert, von oben herab heruntergeputzt wird und unbedingt genau so arbeiten soll, wie es Profis tun. Ist das nicht ein wenig Overkill? In einem Auto-Bastlerforum wird einem doch auch nicht gesagt "richte Dir für Deine gelegentlichen Jobs eine professionelle Werkstatt ein oder lass es"...

            Kommentar


            • #21
              Zitat von dark_rider Beitrag anzeigen
              Schade, dass man hier, wenn man sich selbst demütig als Einsteiger deklariert, von oben herab heruntergeputzt wird und unbedingt genau so arbeiten soll, wie es Profis tun. Ist das nicht ein wenig Overkill? In einem Auto-Bastlerforum wird einem doch auch nicht gesagt "richte Dir für Deine gelegentlichen Jobs eine professionelle Werkstatt ein oder lass es"...
              Jetzt übertreib mal nicht.
              Hier kannste erstmal lesen, was das soll:

              https://php-de.github.io/jumpto/composer/

              Ich daenke es wird Dir ein leichtes sein, das schnell mal lokal aufzusetzen.
              Wieso lokal?

              Da gibt es viele Gründe, der entscheidende scheint daß man den vollen Überblick über das System hat.

              Wer programmiert muss ja ohnehin die Eigenheiten des genutzten OS kennen!
              Nein, nur der Schnitstellen.
              Ich werde mich wohl auf meine alte Tage nicht mehr mit Winxx auseinadersetzen, auch wenn die geschriebenen Seiten meist unter Winxx aufgerufen werden.

              Kommentar


              • #22
                Zitat von dark_rider Beitrag anzeigen
                Schade, dass man hier, wenn man sich selbst demütig als Einsteiger deklariert, von oben herab heruntergeputzt wird und unbedingt genau so arbeiten soll, wie es Profis tun. Ist das nicht ein wenig Overkill? In einem Auto-Bastlerforum wird einem doch auch nicht gesagt "richte Dir für Deine gelegentlichen Jobs eine professionelle Werkstatt ein oder lass es"...
                Auch wenn ich mit dem Ton nicht unbedingt einverstanden bin, dein Vergleich hinkt. Du hast ein Produkt mit einer Anleitung, das dir unterschiedliche Installationsvarianten listet. Du fragst nach zusätzlichen Möglichkeiten und man sagt dir, dass es keine sinnvollen Alternativen gibt. Die Frage, die du dir stellen solltest ist eher: "Warum machen das die Profis so?". Anders als die Werkstatt ist das nämlich keine Geld- und Platzsache. Ja, es kann sein, dass es für dich die Sache erschwert, aber da kann keiner von uns was dafür. Etwas dafür können die Entwickler von diesem Produkt (maxmind), und die werden deinen Nachteil in Kauf nehmen, damit sie selbst Vorteile damit haben. (Und in Wahrheit auch Vorteile an die Mehrheit der anderen Entwickler, jene die Composer nutzen, weitergeben.)

                Kommentar


                • #23
                  Alles schön und gut, Euer aufwändiges Schema F. Nur: Das ist nicht so einfach!

                  1. Ich gehe auf: https://github.com/maxmind/GeoIP2-php
                  2. Dort steht, man soll eingeben:
                  curl -sS https://getcomposer.org/installer | php

                  Nur: Unter Windows gibt es curl gar nicht und lässt sich folglich gar nicht ausführen. Was ist daher zu tun? PS: Sorry, dass ich kein Linux-User bin...

                  Kommentar


                  • #24
                    https://getcomposer.org/doc/00-intro...lation-windows

                    Kommentar


                    • #25
                      Den Composer habe ich installiert. curl lässt sich aber leider weiterhin nicht ausführen.

                      Kommentar


                      • #26
                        Für was brauchst Du denn jetzt CURL noch?

                        PS das kann man natürlich auch auf einem Windows installieren aber in Deinem Fall wozu?
                        PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                        Kommentar


                        • #27
                          OK, den Composer habe ich über hellbringers o.g. Link installiert. Die Datei composer.phar musste ich dann allerdings anderswo im "ProgramData"-Verzeichnis suchen und von dort ins php-Verzeichnis des noch vorhandenen XAMPP kopieren.

                          Dann dort per Kommandozeile aufgerufen:
                          php composer.phar require geoip2/geoip2:~2.0

                          Dadurch entstand schließlich das Verzeichnis "vendor" mit Unterverzeichnissen, welches ich zusammen mit einer aktuellen GeoIP2-Datenbank ("GeoLite2-City.mmdb") in ein neues Verzeichnis namens "geoip2" verschoben habe. Dieses dann auf den Webserver kopiert und mit einer Test-PHP-Datei verwendet - das funktioniert jetzt.

                          Warum es das Verzeichnis "vendor" nicht einfach direkt zum Download gibt und was dieser Composer-Zinnober soll, verstehe ich immer noch nicht. Für die meisten User überflüssig und nur unnötige Hürden schaffend.

                          Kommentar


                          • #28
                            Zitat von dark_rider Beitrag anzeigen
                            OK, den Composer habe ich über hellbringers o.g. Link installiert. Die Datei composer.phar musste ich dann allerdings anderswo im "ProgramData"-Verzeichnis suchen und von dort ins php-Verzeichnis des noch vorhandenen XAMPP kopieren.
                            Das war unnötig! Wenn Du Composer über den Installer installierst ist es von überall als composer erreichbar. Da braucht man nix hin und her kopieren.

                            Zitat von dark_rider Beitrag anzeigen
                            Warum es das Verzeichnis "vendor" nicht einfach direkt zum Download gibt und was dieser Composer-Zinnober soll
                            Es ist nicht schlau Dinge zu trivialisieren die man nicht versteht!

                            Hättest Du Dir einfach mal alles durchgelsen was Dir geschrieben wurde wär Dir das nicht passiert.

                            Zitat von dark_rider Beitrag anzeigen
                            Für die meisten User überflüssig und nur unnötige Hürden schaffend.
                            Daran ist absolut garnix ne Hürde. Nur wenn man bockig ist wie Du und nix verstehen will weil es ja auch anders gehen soll, ist das ein Problem.
                            Wenn Dich so nen Kleinkram bereits vor solche Hürden stellt ist Programmieren u.u. nicht die beste Wahl für dich!

                            PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                            Kommentar


                            • #29
                              Du weißt es ja eh besser. Anwenderorientierung von Anbieterseite her halt ("die Anwender sind zu blöd"), von Anwendern wie Dir selbst so gedacht. Aus meiner Sicht ist es nach wie vor erheblich unkomplizierter, einen Ordner mit ein paar Dateien zu kopieren, als extra lokal einen "Composer" zu installieren und sich mit diesem abzumühen - wahrscheinlich auch noch nur, damit es der Anbieter einfacher hat. Aber sei es drum, ich bin ja eh nur in der untersten von drei Userklassen hier (wenn überhaupt) und den höheren Kasten äh Klassen nachgelagert.

                              Abschließende Frage: Die neue GeoIP-Datenbank hat ca. 60 MB Größe statt zuvor in der Legacy-Version nur etwa 17 MB. Ist das Format nur deutlich ineffizienter, oder sind die Daten nun genauer (was mir nach einem ersten Eindruck nicht so zu sein scheint)?

                              Kommentar


                              • #30
                                Du denkst auf eine zu kurze Sicht. "Ordner kopieren" wird auf Dauer sehr zeitintensiv, wenn diese Pakete auch aktuell gehalten werden müssen. Oder wenn es Abhängigkeiten gibt. Paket 1 benötigt Paket 2 und 3. Paket 3 benötigt Paket 4 und 5. Statt einen Ordner werden plötzlich 5 Ordner kopiert (und zusammen gesucht). Und sowas vervielfacht sich schnell.

                                Ein entfernter Vergleich ist vielleicht ein Smartphone. Stell dir vor statt einem "Update All" müsstest du jede App einzeln runterladen und einen Ordner aufs Smartphone kopieren. Da würde doch kaum jemand seine Apps updaten, weil das so viel Arbeit und so mühsam ist. Und die ähnliche "Gefahr" besteht auch, wenn man Ordner in seine PHP-Anwendung kopiert. Das macht man dann wohl genau einmal und verwendet es so lange es halt läuft.

                                Kommentar

                                Lädt...
                                X