Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Development Windows -> productive Linux

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Development Windows -> productive Linux

    Hallo zusammen,

    ich richte mir grad meine Devel-Umgebung unter Windows ein und stelle mir gerade die Frage wo hier die Knackpunkte bei der späteren Umstellung auf Linux als Produktiv-Umgebung liegen.

    Ich würde also gerne unter Windows entwickeln und mit lokalem XAMPP testen und das ganze dann später mit möglichst wenig Aufwand unter Linux einsetzen. Wie sieht's denn da z.B. mit den unterschieden bei den Pfaden aus? (z.B. \ und /)

    Treten evtl. noch andere Probleme auf?

    Grüße,
    Frank


  • #2
    Wichtig bei soetwas ist, dass du relative statt absoluten Pfaden verwendest.
    Als Info: Linux verwendet den Slash als Pfad-Trennzeichen, Windows ist dies egal, also benutz am Besten durchgehend den Slash / anstatt dem Backslash \

    Falls du absolute Pfade verwenden musst (warum auch immer), zentralisiere sie in einer Datei, die von allen anderen includet wird. So kannst du Änderungen Projektweit durchführen.

    Sehr zum empfehlen sind auch die selben PHP-Versionen (zumindest die Subversion sollte gleich sein) und -Einstellungen beim Testen wie beim Online-Server zu verwenden . Wenn du dann noch sauber programmierst und error_reporting(E_ALL) verwendest (also auch Hinweise anzeigen läßt) dürfte nichts schiefgehen

    Kommentar


    • #3
      Hallo Zergling,

      danke für Deine Antwort.

      Windows ist dies egal, also benutz am Besten durchgehend den Slash / anstatt dem Backslash \
      danke - das ist genau das was ich hören wollte - ich glaube das war irgendwann mal anders oder? naja jedenfalls hatte ich das als "Hindernis" im Kopf.

      Ich arbeite sowieso mit einer (denke ich) recht durchdachten Datei- und Verzeichnisstruktur, die natürlich zentrale Configfiles beinhaltet. Letztlich soll das Projekt ja später mal auf nahezu jedem Server lauffähig sein.

      Das Thema Error-Reporting ist mir noch etwas fremd, steht aber schon auf meiner Lern-Todo-Liste

      Grüße,
      Frank

      Kommentar


      • #4
        Zitat von Lokari
        Letztlich soll das Projekt ja später mal auf nahezu jedem Server lauffähig sein.
        Ich hab eine "inc.constants.php" die die absoluten Projekt-Pfade zur
        Verfügung stellt, da es leider nicht immer geht, dass man relative Pfade
        verwendet, nämlich wenn SkriptA mit Dateien arbeitet und nun SkriptB aus
        einer anderen Verzeichnis-Ebene SkriptA einbindet.

        Habe es so geschafft, dass es auch egal ist, auf welcher Verzeichnisebene
        das Projekt läuft, also ob unter
        http://localhost/projektX oder http://projektx.de
        Leider macht Schlund manchmal nicht mit.

        Hilfreiche Informationen stehen übrigens hier:
        PHP-Code:
        <?php
        print '<pre>';
        print_r($_SERVER);
        print_r(get_defined_constants());
        print 
        '</pre>';
        phpinfo();
        ?>

        Zitat von Lokari
        Das Thema Error-Reporting ist mir noch etwas fremd,
        steht aber schon auf meiner Lern-Todo-Liste
        Habe früher ohne Hinweise gearbeitet, finde die aber sehr hilfreich.
        Zum Beispiel findet man dadurch Schreibfehler in Variablen, die man in
        größeren Skripten sonst garnicht findet.

        PHP-Code:
        <?php
        $varmame 
        true// Schreibfehler
        // womöglich riesiger Codeblock
        if ($varname) {
        ?>
        Man denkt man müsste in den if-Block kommen, tut man aber nicht, da
        $varname nicht definiert ist (Deklaration fehlerhaft), also null => false. Man sucht nur im Code-Block von if, der Fehler geschah aber schon
        früher).
        Mit angezeigten Hinweisen bekäme man die Info, dass $varname nicht
        definiert ist und somit schaut man sich sofort die Deklaration an.

        Kommentar


        • #5
          Vielen Dank für die ausführlichen Tipps.

          Ich hab' hier noch ein Buch rumliegen in dem es unter anderem einen Abschnitt über Error-Reporting gibt. Das werd ich mir heute mal reinziehen und schauen ob ich daraus schlau werde

          So Dinge wie Error-Reporting respektive das loggen von Fehlern bzw. versenden per eMail auch im Produktiveinsatz möchte ich möglichst für alle Projekte zentralisieren bzw. in einer Klasse abstrahieren um das bei jedem Projekt möglichst gleich einsetzen zu können. Dazu muss ich aber erstmal verstehen wie php das handhabt und was man da schönes bauen kann.

          Kommentar


          • #6
            Auch ganz nützlich:
            PHP-Code:
            <?php 

             
            echo "Direcrory-Seperator = " DIRECTORY_SEPARATOR  "

                      Path-Separator = " 
            PATH_SEPARATOR;
            ?>
            Gruß
            phpfan

            Kommentar

            Lädt...
            X