Ankündigung

Einklappen
Keine Ankündigung bisher.

Logsystem in PHP

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

  • #31
    [QUOTE=tomBuilder;n1535604
    Falsche Daten bei PDO::construct() sind einfach nicht angebracht in einer productiven Umgebung, genauso falsche Authdaten beim Mailer etc.
    Das sollte vorher schon ausgeschlossen sein.
    [/QUOTE]

    Insofern die Daten einfach im Script hardcoded sind mag das natürlich sicherlich stimmen. Sobald die Daten aber z.B. aus einer Datenbank kommen oder von anderweitigen Diensten, können Fehler auf dieser Seite durchaus vorkommen und müssen entsprechend behandelt werden.
    "Software is like Sex, it's best if it's free." - Linus Torvalds

    Kommentar


    • #32
      Zitat von JaMa Beitrag anzeigen

      Insofern die Daten einfach im Script hardcoded sind mag das natürlich sicherlich stimmen. Sobald die Daten aber z.B. aus einer Datenbank kommen oder von anderweitigen Diensten, können Fehler auf dieser Seite durchaus vorkommen und müssen entsprechend behandelt werden.
      Selbst dann, kann jemamd aus Versehen oder mit Absicht die Zugangsdaten am Mailserver geändert haben;
      wie schon erwähnt, Exception im produktiven Betrieb machen durchaus Sinn.

      Aber schön, daß Du meinen Punkt verstanden hast
      Mailserver Zugangsdaten aus der DB, ich gebe zu, das habe ich nicht bedacht.
      Mir fällt auf die Schnelle auch nur ein Typus Programm ein, bei dem eine MAsse an MaiServer Zugangsdaten in einer DB liegen und automatisiert abgearbeitet werden...

      Kommentar


      • #33
        Zitat von tomBuilder Beitrag anzeigen
        Aber schön, daß Du meinen Punkt verstanden hast
        Mailserver Zugangsdaten aus der DB, ich gebe zu, das habe ich nicht bedacht.
        Mir fällt auf die Schnelle auch nur ein Typus Programm ein, bei dem eine MAsse an MaiServer Zugangsdaten in einer DB liegen und automatisiert abgearbeitet werden...
        Welchen Punkt?

        Das war auch nur ein Beispiel. Es kommt häufig vor, dass ein System auf Daten von anderen Systemen angewiesen ist und dadurch auch eine entsprechende Fehlerbehandlung notwendig ist.
        "Software is like Sex, it's best if it's free." - Linus Torvalds

        Kommentar


        • #34
          Zitat von JaMa Beitrag anzeigen
          Welchen Punkt?
          Ich finde meine Argumentation inzwischen relativ sauber, aber es stört mich nicht, wenn Du noch mehr Beispiele anführst, um diese zu stäken.

          Kommentar


          • #35
            If handle was fopen()ed in append mode, fwrite()s are atomic (unless the size of string exceeds the filesystem's block size, on some platforms, and as long as the file is on a local filesystem). That is, there is no need to flock() a resource before calling fwrite(); all of the data will be written without interruption.
            http://php.net/manual/en/function.fwrite.php

            Kommentar


            • #36
              Das gilt jedoch nur für ein einziges fwrite() zwischen einen fopen() im Append-Mode und einem fclose(). Erfolgen warum auch immer mehrere fwrite() Aufrufe für einen Logeintrag, dann können andere Prozesse ihren fwrite() dazwischen ausführen und den Logeintrag verstümmeln. Die Verwendung mehrerer fwrite() für einen Logeintrag sollte deshalb vermieden werden.
              PHP-Klassen auf github

              Kommentar


              • #37
                Zitat von jspit Beitrag anzeigen
                Das gilt jedoch nur für ein einziges fwrite() zwischen einen fopen() im Append-Mode und einem fclose(). Erfolgen warum auch immer mehrere fwrite() Aufrufe für einen Logeintrag, dann können andere Prozesse ihren fwrite() dazwischen ausführen und den Logeintrag verstümmeln. Die Verwendung mehrerer fwrite() für einen Logeintrag sollte deshalb vermieden werden.
                Das gilt für jedes fwrite() im Append Modus.
                Aber ja, wenn natürlich ein Logeintrag auf mehrere fwrites aufgeteilt wird (was Schwachsinn wäre), dann kann es passieren, dass ein anderer Prozess/Thread dazwischen schreibt.
                "Software is like Sex, it's best if it's free." - Linus Torvalds

                Kommentar


                • #38
                  Anfänger könnten z.B. auf die Idee kommen, in ihrer Loggerklasse im Konstruktor bereits ein fopen() zu machen und in den Methoden zum Schreiben dann nur ein fwrite(). Dann hab ich schon ungewollt diese Aufteilung. Ich meine das schon mal irgendwo gesehen zu haben.
                  PHP-Klassen auf github

                  Kommentar


                  • #39
                    Zitat von jspit Beitrag anzeigen
                    Anfänger könnten z.B. auf die Idee kommen, in ihrer Loggerklasse im Konstruktor bereits ein fopen() zu machen und in den Methoden zum Schreiben dann nur ein fwrite(). Dann hab ich schon ungewollt diese Aufteilung. Ich meine das schon mal irgendwo gesehen zu haben.
                    Das sollte eigentlich schon passen. Nur sollte die Buffergröße von 1KB nicht überschritten werden.
                    "Software is like Sex, it's best if it's free." - Linus Torvalds

                    Kommentar

                    Lädt...
                    X