willie.de: aus Include-Path kopieren vs. tmpfile()

Hallö ins Forum,

ich bastle grad ein Script, das eine geänderte PHP.INI aus dem include_path im aktuellen Verzeichnis erstellen soll.

Was geht schneller bzw. ressourcenschonender: Die PHP.INI kopieren und mit fwrite() ändern oder tmpfile() verwenden und diese dann ebenfalls ändern und in eine PHP.INI kopieren?

Danke für Unterstützung und
Grüße aus Leipzig
willie

--
sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:} va:} de:> zu:} fl:( ss:| ls:[ js:|
Selfcode Decoder
  1. Hello,

    vielleicht solltest Du Dich lieber fragen, was sicherer ist?
    Das Einlesen, Ändern und Wegschreiben einer solchen Datei dauert auf modernen Rechnern keine haleb Sekunde mehr. Aber wie lange wird es dauern, die INI-Datei wiederherzustellen, wenn sie verlorengeht?

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hallö,

      vielleicht solltest Du Dich lieber fragen, was sicherer ist?

      Ich will die PHP.INI kopieren oder im aktuellen Verzeichnis neu erstellen, nicht verschieben. Hatte ich auch so gepostet.

      Grüße aus Leipzig
      willie

      --
      sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:} va:} de:> zu:} fl:( ss:| ls:[ js:|
      Selfcode Decoder
      1. Hallo,

        vielleicht solltest Du Dich lieber fragen, was sicherer ist?
        Ich will die PHP.INI kopieren oder im aktuellen Verzeichnis neu erstellen, nicht verschieben. Hatte ich auch so gepostet.

        m. E. solltest Du die originale php.ini Zeile für Zeile auslesen und die benötigten Passagen in die neu php.ini wegschreiben. Das bedeutet aber auch, Du muß auf auskommentiertes achten.
         Eine andere Möglichkeit ist parse_ini_file() zu nutzen. Diese Funktion birgt den Vorteil, auf Komentare zu achen. Das zurückgegebene Datenfeld kann simpel mit eine foreach-Schleife, in der Routinen nach zu überarbeitende Konfigurationsanweisungen prüfen, durchlaufen werden und wieder weggeschrieben werden. Das wäre auch der Ansatz, den ich bevorzugen würde.

        Wie kommst Du auf die Idee mit einem temporärem File?
        (Das halte ich für den größten Aufwand. Aber sicher spielt hier der Gedanke eine Rolle, daß wärend der Erstellung aus dem aktuellen Arbeitsverzeichnis auch PHP-Scripte geordert werden können. Dies ist aber ein hinzunehmendes Übel von der Dauer einiger Millisekunden.)

        Grüße aus Leipzig

        Gruß aus Berlin!
        eddi

        --
        Achte die Kleinigkeiten, aber liebe das Detail!
        1. Hallö nochmal,

          m. E. solltest Du die originale php.ini Zeile für Zeile auslesen und die benötigten Passagen in die neu php.ini wegschreiben…

          ich war einer falschen Info aufgesessen. Die php.ini ist wohl einfacher zu ändern mit 'ini_set()'.

          Wie kommst Du auf die Idee mit einem temporärem File?

          Wie gesagt: ich hatte keine Ahnung was schneller/einfacher abläuft…

          Danke für Unterstützung und
          Grüße aus Leipzig
          willie

          --
          sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:} va:} de:> zu:} fl:( ss:| ls:[ js:|
          Selfcode Decoder
          1. Hello,

            ich war einer falschen Info aufgesessen. Die php.ini ist wohl einfacher zu ändern mit 'ini_set()'.

            ini_set() ändert nicht die php.ini, sondern nur das temporäre Setting für das Script im RAM.
            Davon bleibt später nichts zurück.

            Harzliche Grüße vom Berg
            http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau