Ankündigung

Einklappen
Keine Ankündigung bisher.

Kompatibilität von PHP zwischen Mac OS und Windows?!?!

Einklappen

Neue Werbung 2019

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

  • #16
    Das ist PHP-Code. Wenns um Darstellugnsprobleme geht bitte nur HTML- und CSS-Code posten. Denn der Browser bekommt schließlich auch keinen PHP-Code.

    Kommentar


    • #17
      Zitat von hellbringer Beitrag anzeigen
      Ich würde PHP unter Windows nicht verwenden. Zumindest nicht produktiv. Es gibt da einige Dinge, die nicht so gut funktionieren und Probleme machen können. Das mal vorweg.

      Wenn das Produktivsystem ein Linux/Unix-System ist, sollte das Entwicklungssystem auch auf Linux/Unix laufen (OSX basiert auf Unix). Wenn das Produktivsystem (warum auch immer) ein Windows-Server sein soll, sollte auch auf einem Windows-Rechner entwickelt werden, um mögliche Kompatibilitätsprobleme auszuschließen.
      Hm, ich entwickle seit über 13 Jahren auf Windows, während Linux immer das Produktivsystem ist. Habe noch nie Kompatibilitätsprobleme gehabt...

      Kannst Du mal ein, zwei Beispiele geben, wo es zu Problemen kommen kann?
      Es ist schon alles gesagt. Nur noch nicht von allen.

      Kommentar


      • #18
        Zitat von drsoong Beitrag anzeigen

        Hm, ich entwickle seit über 13 Jahren auf Windows, während Linux immer das Produktivsystem ist. Habe noch nie Kompatibilitätsprobleme gehabt...

        Kannst Du mal ein, zwei Beispiele geben, wo es zu Problemen kommen kann?
        1. Dateinamenkodierung: Unter Linux wird in der Regel UTF-8 verwendet, unter Windows irgendein komischer Mischmasch. Und bei bestimmten Zeichen können gar Fehler auftreten bzw. können Dateien nicht geöffnet werden.

        2. setlocale() unterstützt auch kein UTF-8, zumindest damals nicht, als ich es gebraucht hätte.

        3. chmod() funktioniert nicht.

        4. Hatte schon den einen oder anderen Segfault, der unter Linux nicht aufgetreten ist.

        5. Noch einige andere Dinge, die mir nicht mehr einfallen bzw. die ich schon verdrängt habe.

        Kommentar


        • #19
          Dein ul braucht wohl noch ein:

          HTML-Code:
            list-style-type:none

          Kommentar


          • #20
            hellbringer : Danke!

            elias3141 : Ich bin da ganz beim Kollegen chorn (oder Kollegin?). Wer weiß, was die da beim Chef im Büro treiben. Miete Dir für ein paar Euro einen Webspace mit PHP, MySQL und packe alles dort hin.Gewöhne Dir Tests mit den "wichtigen" Browsern an. Dazu gehört Firefox, Chrome, Safari, Opera, Edge (demnächst zusätzlich in der Chromium Variante) und leider mindestens auch der IE 11.

            So sollte Dein Chef weniger Möglichkeiten haben es ahnungslos zu vermasseln.
            Es ist schon alles gesagt. Nur noch nicht von allen.

            Kommentar


            • #21
              Zitat von elias3141 Beitrag anzeigen
              Schicke dir Bild und Code am Abend.
              Wie schon geschrieben wurde: schaut sich der Chef das wirklich über einen Webserver an? Wenn man den Code als lokale HMTL-Datei direkt aufruft sieht das wirklich nicht gut aus …
              Ich weiß jetzt nicht um welchen Job es genau geht, aber mit dem Code wärst du bei mir sofort unten durch (v.a. die ersten drei Dinge):
              1. der Code enthält mit dem »include($_GET['page'].'.php');« ein gravierendes Sicherheitsloch - damit lässt sich beliebiger Code einschleusen!
              2. in dem Code fehlt das HTML-Grundgerüst - ohne das besteht die Gefahr dass die Browser das Raten anfangen
              3. ich vermisse die semantisch entsprechend korrekten Elemente (z.B. <main>, <nav>, <section>, <header>, <footer>), dein Code ist nur eine div-Suppe.
              4. CSS gehört in eine extra Datei ausgelagert
              5. ich vermisse eine Darstellung für Mobile Geräte (das sollte eigentlich Standardeinstellung sein, Größere Displays bekommen erst später andere Einstellungen (»mobile first«)) - es scheint zwar halbwegs zu funktionieren, schön ist aber was anderes
              6. du missbrauchst hX-Elemente um Text zu formatieren(?): das was in <h4> steht gehört in einen ganz normalen Absatz (<p>)
              7. verwende niemals Pixel als Maßangaben, beziehe dich immer auf die Schriftgröße (also em) bzw. verwende relative Größenangaben
              8. (ich habe mal noch etwas HTML ergänzt was vmtl. über header.php und footnote.php rein kommt auf der Seite muss man quer scrollen, da stimmt wohl was mit den Breitenangaben nicht

              Kommentar


              • #22
                Zitat von hellbringer Beitrag anzeigen
                Ich würde PHP unter Windows nicht verwenden. Zumindest nicht produktiv. Es gibt da einige Dinge, die nicht so gut funktionieren und Probleme machen können. Das mal vorweg.
                Es gibt genau so einige Dinge die unter Unix-Like-Systemen nicht funktionieren. Beispiel aus dem PHP-Manual :

                Note: This function isn't available on some systems (e.g. old Sun OS).
                Note: The GLOB_BRACE flag is not available on some non GNU systems, like Solaris.
                Ist so ein Fall wo ich schon mal auf die Nase gefallen bin. Vom Grundsatz versuche ich daher systemspezifische Funktionen wie z.B. setlocale und strftime zu meiden und meinen Code so zu schreiben, dass dieser unabhängig von der Plattform funktioniert. Das gilt auch für die PHP-Version. Der Code muss unter der aktuellen PHP-Version laufen, darf diese aber nicht zwingend vorschreiben.

                Zitat von hellbringer Beitrag anzeigen
                Wenn das Produktivsystem ein Linux/Unix-System ist, sollte das Entwicklungssystem auch auf Linux/Unix laufen (OSX basiert auf Unix). Wenn das Produktivsystem (warum auch immer) ein Windows-Server sein soll, sollte auch auf einem Windows-Rechner entwickelt werden, um mögliche Kompatibilitätsprobleme auszuschließen.
                Auch das sehe ich etwas anders, da es die Gefahr erhöht eine systemspezifische Schmalspurapplikation zu entwickeln die nur eben unter dieser Umgebung läuft.
                Sind Produktivsystem und Entwicklungssystem unterschiedlich, ist der Entwickler angehalten möglichst nach jeden großen Schritt ein Test auf einer Testumgebung die dem Produktivsystem gleicht zu machen.


                PHP-Klassen auf github

                Kommentar


                • #23
                  gelöscht weil ich nach dem Absenden feststelle, dass #21 und #22 mein Geschreibsel bereits thematisieren..

                  Kommentar


                  • #24
                    Zitat von jspit Beitrag anzeigen
                    Auch das sehe ich etwas anders, da es die Gefahr erhöht eine systemspezifische Schmalspurapplikation zu entwickeln die nur eben unter dieser Umgebung läuft.
                    Was in 99% der Fälle gewünscht und ausreichend ist. Ich hab noch nie eine Anwendung entwickelt, die dann plötzlich auf einem ganz anderem System laufen musste. Üblicherweise wird vor Projektbeginn spezifiziert, auf welchen Systemen die Anwendung laufen muss und dann wird auch gezielt dafür entwickelt.

                    Wenn man zB. eine .NET Anwendung schreibt, dann auch nicht mit dem Hintergedanken, dass die vielleicht mal unter Linux laufen wird. Sondern es wird gezielt für Windows-Systeme entwickelt.

                    Kommentar


                    • #25
                      Kommt halt drauf an für wen man entwickelt. Für eine Community mag das mit systemspezifisch funktionieren. Wenn man für das Gewerbe bzw. die Industrie entwickelt, halte ich es genau so für falsch Linux-only zu machen wie Windows-only. Kann man ja in die Spezifikation schreiben, was dann halt nicht geht, um- oder nachprogrammiert werden muss. Aber insgesamt unterscheidet sich das für mich nicht von jeder anderen Software. Und plattformabhängig ist dann für mich Mist, egal in welche Richtung und unabhängig von meiner persönlichen Präferenz. Wenn es dann heisst "ja sorry dafür müssen sie neue Infrastruktur anschaffen und ihre bestehende Systemlandschaft komplett umkrempeln" ja dann fliegt die Software halt raus oder kommt nicht erst rein. Kann halt auch genau andersrum sein. Aber PHP ist ja flexibel genug praktisch überall lauffähig zu sein und fast jedes Feature kann man irgendwie implementieren, da muss man ja nicht einfach Scheuklappen aufsetzen.
                      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.

                      Kommentar


                      • #26
                        Zitat von chorn Beitrag anzeigen
                        Kommt halt drauf an für wen man entwickelt. Für eine Community mag das mit systemspezifisch funktionieren. Wenn man für das Gewerbe bzw. die Industrie entwickelt, halte ich es genau so für falsch Linux-only zu machen wie Windows-only. Kann man ja in die Spezifikation schreiben, was dann halt nicht geht, um- oder nachprogrammiert werden muss. Aber insgesamt unterscheidet sich das für mich nicht von jeder anderen Software. Und plattformabhängig ist dann für mich Mist, egal in welche Richtung und unabhängig von meiner persönlichen Präferenz. Wenn es dann heisst "ja sorry dafür müssen sie neue Infrastruktur anschaffen und ihre bestehende Systemlandschaft komplett umkrempeln" ja dann fliegt die Software halt raus oder kommt nicht erst rein.
                        Zum glück hat sich Docker mittlerweile sehr weit etabliert, so das man nur noch ein Docker Image bereitstellen muss. So kann man sehr gut die Zielplatform weg abstrahieren.

                        Kommentar


                        • #27
                          Zitat von Zeichen32 Beitrag anzeigen

                          Zum glück hat sich Docker mittlerweile sehr weit etabliert, so das man nur noch ein Docker Image bereitstellen muss. So kann man sehr gut die Zielplatform weg abstrahieren.
                          Ja gut, wenn da wo die Software laufen soll schon eine Dockerumgebung läuft oder die Leute da bereit sind sich die Skills anzueignen. Da kann man als Entwickler natürlich sagen: Docker oder nichts. Oder man treibt die Abstraktion weiter und stellt denen eine fertige Kiste hin - gibt's auch. SaaS? Aber das hat dann mit PHP nichts mehr zu tun, und ich denke damit wäre der TE auch nicht weitergekommen.
                          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.

                          Kommentar


                          • #28
                            Zitat von chorn Beitrag anzeigen
                            Kommt halt drauf an für wen man entwickelt. Für eine Community mag das mit systemspezifisch funktionieren. Wenn man für das Gewerbe bzw. die Industrie entwickelt, halte ich es genau so für falsch Linux-only zu machen wie Windows-only.
                            Also ich entwickle seit mindestens 15 Jahren zu 100% für die Industrie und bis jetzt war das verwendete System immer von Anfang an in Stein gemeiselt.

                            Zitat von chorn Beitrag anzeigen
                            Aber PHP ist ja flexibel genug praktisch überall lauffähig zu sein und fast jedes Feature kann man irgendwie implementieren, da muss man ja nicht einfach Scheuklappen aufsetzen.
                            PHP läuft plattformunabhängig, ja. Aber so einfach ist das dann doch nicht, wie vorige genannte Fälle zeigen. Und je mehr Plattformen unterstützt werden, umso höher ist der Aufwand (Entwicklung, Testing, Hardware, Lizenzen, Support, usw.) und das kostet Geld. Das muss halt auch jemand zahlen wollen, nur damit es "überall" läuft.

                            Es fängt ja schon dabei an, dass der Kunde auch Support will. Und wenn man Webanwendungen für z.B. Windows anbietet, dann sollte man auch Wissen und Erfahrung über Windows Server, IIS und MSSQL mitbringen. Das heißt, man braucht dann wieder einen Mitarbeiter, der auf sowas spezialisiert ist und das kostet dann auch wieder mehr Geld. Dann braucht man eine eigene Infrastruktur, die alle möglichen Kundensituationen abdeckt. Also man braucht einen oder mehrere Windows Server, die nicht gratis sind. Dann brauch man Administratoren, die sowohl Linux- als auch Windows-Server betreuen können. Man braucht verschiedene Datenbanksysteme. Im Idealfall hat man dann noch mehrfach automatisierte Testsysteme, für verschiedene Linux-Systeme, für zwei bis drei verschiedene Windows-Systeme, usw. usf. Und noch vieles mehr.

                            Also einfach zu sagen, man programmiert plattformunabhängig und damit wars das, so ist es nicht. Deswegen sollte vor Projektbeginn die Rahmenbedingungen abgeklärt werden. Welche Systeme mit welchen Versionen sollen unterstützt werden? Welche Datenbanken? MySQL? MSSQL? PostgreSQL? Oracle? Was für Authentifizierungssysteme sind vorhanden, die verwendet werden können? Und wenn man sich darauf geeinigt hat, wird gezielt genau dafür entwickelt.

                            Kommentar


                            • #29
                              Also ich entwickle seit mindestens 15 Jahren zu 100% für die Industrie und bis jetzt war das verwendete System immer von Anfang an in Stein gemeiselt.
                              Ich mach das genau so lange für Gewerbe, da war das nicht immer so ¯\_(ツ)_/¯

                              Klar muss das jemand bezahlen, ist halt die Frage, ob du dir als Firma den Kundenstamm durch die Lappen gehen lassen willst. Sagt ja niemand, dass es einfach ist, aber ich will den Kunden nachher nicht jammern hören, warum das auf ein mal so viel Geld kostet von einem Betriebssystem auf das andere umzuziehen. Ist für mich das gleiche, wie jemanden auf ein bestimmtes Datenbanksystem festzunageln. Kann ja auch alles sinnvoll sein, vllt ist das auch von Standardsoftware zu Individualsoftware unterschiedlich, aber ich finde das zu kurz gedacht. Gibt halt für beide Herangehensweisen Pro und contra.
                              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.

                              Kommentar


                              • #30
                                Ihr habt aber viel diskutiert.

                                Der Chef meinte neulich zu mir dass er beides versucht hatte, also direkt öffnen und über einen Webserver. Auf seinen Browser (Firefox oder chrome) sah dass dann sehr komisch aus.
                                Er sagt wenn ich die Seite so programmiere, dass es bei mir auf chrome und Firefox vollfunktionsfähig aussieht, müsste es bei ihm genauso sein.

                                (Ps: ich kann auch gerne die anderen inkludierten Dateien der website schicken damit ihr alles nachvollziehen könnt, wie z.B header.php oder footer.php. Ich hab nur auf der Impressum und Datenschutz Datei HTML benutzt ansonsten garnicht, im Tutorial wurde davon nicht gebraucht gemacht)


                                Was kann ich jetzt zusammenfassend tun um meinen Code zu verbessern, dieses Problem lösen damit es beim Chef perfekt aussieht und diese Stichpunkte in der Navigationsleiste verschwinden lassen?

                                Viele Grüße!

                                Kommentar

                                Lädt...
                                X