aus Include-Path kopieren vs. tmpfile()
willie.de
- php
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
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
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
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
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
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