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

  • elias3141
    hat ein Thema erstellt Kompatibilität von PHP zwischen Mac OS und Windows?!?!.

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

    Hey Leute!

    Bin neu hier auf dem Forum und habe vor kurzem mit PHP angefangen. Ich muss mich für einen Job beweisen und dafür eine Website mit Start, Impressum, Datenschutz und Kontaktformular programmieren.
    Dies hab ich alles auf meinem MacBook programmiert (auch alle Dateien mit .php benannt) und auf meinen lokalen Server mittels Apache darstellen können.
    Nun dachte ich mir super sieht ja ganz schön aus und hab dann alle Dateien (die übrigens auf dem Ordner Webserver sind) in einen Ordner gepackt, komprimiert und an den Chef gesendet.
    Es hat sich herausgestellt dass er die Website nicht vollständig und funktionsfähig anschauen kann mit seinem Team da er Windows benutzt und als Browser nicht Safari hat. Er hat mir noch eine Chance gegeben alles zu verbessern und ihm die Website zu schicken, aber ich habe überhaupt keinen Plan wie ich das machen soll!

    Ich würde mich sehr freuen wenn ihr mir helfen könntet!
    Viele Grüße!

  • VPh
    antwortet
    Zitat von elias3141 Beitrag anzeigen
    Der Chef meinte neulich zu mir dass er beides versucht hatte, also direkt öffnen und über einen Webserver.
    ???

    Er muss den Code auf irgendeinem Server, auf dem ein Webserver läuft, hochladen. Und dann über den Browser diese Seite vom Server abrufen. Was soll denn "direkt öffnen" bedeuten, entweder er macht es richtig oder nicht... und zum richtig machen... braucht man den Webserver und man muss ihn auch nutzen.
    Evtl. ist auch einfach deren Webserver falsch eingerichtet.

    Bist du dir sicher, dass du die Aufgabe mit PHP erledigen sollst, und der Chef nicht einfach eine statische HTML-Seite haben möchte?

    Fazit: Ich wette 20€, dass der Fehler beim Chef liegt.

    Einen Kommentar schreiben:


  • tk1234
    antwortet
    Zitat von elias3141 Beitrag anzeigen
    Könntest du bitte eine verbesserte Version meines Codes hier rein schicken? Damit ich mir davon ein Bild machen kann und durch ein erstes gutes Beispiel lerne und Erfahrung sammeln kann.
    Es geht um *deine* Bewerbung für einen Job - merkst du was? Ich kenne die genauen Vorgaben und die Kenntnisse des Chefs nicht, aber es bringt dir überhaupt nichts wenn dir jemand anderes das korrigiert - spätestens in der Probezeit fliegt das sowieso auf. Vielleicht ist der Job einfach nichts für dich? Mal ganz davon zu schweigen dass ich den kompletten HTML-Code und auch das Fehlerbild beim Chef überhaupt nicht kenne …
    Noch ein zwei Hinweise zu den einzelnen Punkten:
    • zu 1.: hänge vor $_GET['page'] einen fixen Pfad an und prüfe dann ob die Datei überhaupt existiert oder filtere $_GET['page'] gegen eine Whitelist
    • bei 2 und 7 habe ich bereits zwei Seiten verlinkt, auch zu den restlichen Punkten solltest du bei Selfhtml im Wiki was finden
    Solltest du irgendwo konkrete Probleme haben kannst du gerne nochmal nachfragen, aber fertigen Code gibt es hier nicht (nicht nur in dem Fall).

    Einen Kommentar schreiben:


  • erc
    antwortet
    Zitat von elias3141 Beitrag anzeigen
    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?
    "dieses Problem"? Um ein Problem lösen zu können, muss das Problem überhaupt erstmal verstanden werden. Du merkst ja selbst, das "sieht komisch aus" doch sehr viel Interpretationsspielraum lässt. Der nächste Schritt wäre erstmal abzuklären, was "sieht komisch aus" bedeutet. Entweder versuchst du das Problem zu reproduzieren und/oder lässt dir davon ein Screenshot schicken.
    Ich kann mir aber schon vorstellen was bei dem Screenshot rauskommt. Dort wird teilweise PHP Quelltext zu sehen sein. Derjenige ist nicht in der Lage deine Anwendung "zu installieren" oder will dich vielleicht auch testen. (Wie löst du Probleme?). Am einfachsten kommst du davon, wenn du das selbst auf ein Webserver im Internet zugänglich machst. Du gibst ihm die entsprechede URL und den Quelltext. Fertig...

    Dein Problem mit der Liste wurde hier irgendwo im Thread schon erklärt.

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Zitat von elias3141 Beitrag anzeigen
    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?
    Du solltest das tun, was bis jetzt hier genannt wurde. Ich warte z.B. immer noch auf ein vollständiges Beispiel z.B. auf JSFiddle. Kommt das noch irgendwann?

    Einen Kommentar schreiben:


  • elias3141
    antwortet
    Zitat von tk1234 Beitrag anzeigen
    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
    Könntest du bitte eine verbesserte Version meines Codes hier rein schicken? Damit ich mir davon ein Bild machen kann und durch ein erstes gutes Beispiel lerne und Erfahrung sammeln kann.

    Einen Kommentar schreiben:


  • elias3141
    antwortet
    Zitat von drsoong Beitrag anzeigen
    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.
    Ist notiert! Danke für deinen Ratschlag.

    Einen Kommentar schreiben:


  • elias3141
    antwortet
    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!

    Einen Kommentar schreiben:


  • elias3141
    antwortet
    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!

    Einen Kommentar schreiben:


  • chorn
    antwortet
    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.

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    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.

    Einen Kommentar schreiben:


  • chorn
    antwortet
    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.

    Einen Kommentar schreiben:


  • Zeichen32
    antwortet
    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.

    Einen Kommentar schreiben:


  • chorn
    antwortet
    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.

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X