2024-03-19 07:05 CET


View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000117Branch 0.2.1-FINALFeature Requestpublic2016-11-23 12:17
ReporterQuix0r 
Assigned ToQuix0r 
PriorityurgentSeverityfeatureReproducibilityN/A
StatusclosedResolutionfixed 
PlatformPHP5-LatestOSLinuxOS Version2.6
Product Version0.2.1-FINAL 
Target Version0.2.1-FINALFixed in Version0.2.1-FINAL 
Summary0000117: config.php
DescriptionDie besagte Datei inc/config.php ist derzeit unter Revisionskontrolle. Dies hat wie einige Commits gezeigt haben, zu unbeabsichtigten Commits gefuehrt, wobei z.B. mein (lokales!) Datenbankpasswort mit veroeffentlicht wurde. Damit dies nicht mehr vorkommt - dazu sollte gleich noch mehr umgeschrieben werden - sollte die config.php in zwei Dateien aufgeteilt werden:

inc/config-global.php - Ist versioniert und soll allgemeine Einstellungen enthalten. Diese Datei ist nicht zu aendern. Es koennen hier auch "sinnige" Dinge aus der inc/databases.php hineinverschoben werden.

inc/config-local.php - Ueberschreibt Einstellungen aus der config-global.php, wie z.B. MySQL-Zugangsdaten usw. Diese Datei sollte nicht versioniert werden und nicht im "Lieferumfang" dabei sein, sprich nicht in der Repository gecommittet werden.
Additional InformationDamit das Ueberschreiben auch klappt, muessen verstaendlicherweise saemtliche Konstanten auf Array-Elemente umgeschrieben werden. PATH und URL koennen theoretisch in der config-global.php definiert sein, da die automatische Erkennung bis jetzt gut geklappt hat. Die Datei sollte am Ende der Installationsphase z.B. aus einem "Template" heraus erstellt werden - z.B. config-local.php.dist - indem diese Datei einfach nach config-local.php kopiert wird und dann die Einstellungen in ihr geaendert werden.
TagsNo tags attached.
Attached Files

-Relationships Relation Graph ] Dependency Graph ]
+Relationships

-Notes

~0000328

user13

Hm dazu muss aber das inc-Verzeichniss beschreibbar sein (zumindest zur Installation). Ich würde diese lokale config.php ins cache-Verzeichniss rein machen und einen großen Vermerk dran, dass diese nicht gelöscht werden soll. Die lokale config.php könnte man auch per serialize() erstellen (ist dann aber sehr schwer manuell änderbar und man bräuchte dafür eine extra Script dafür).

Die lokale einfach am ende eingelesen. Wenn man den Array-Ansatz weiter spinnt, dann sollte man zuerst wegen BC den Array per foreach durchgehen und dann wieder Konstanten machen. Auch sollte bedacht werden, dass Arrays zb durch Angriffe leichter manipuliert werden können als Konstanten.

~0000329

Quix0r (administrator)

Hab deinen Vorschlag mit beruecksichtig. Finde ich sehr gut! Es wird dabei auch das Verzeichnis inc/cache/ geaendert, so dass config-local.php ignoriert wird.

~0000330

Quix0r (administrator)

Sollte nun mit dabei sein.

~0000331

Quix0r (administrator)

Es muss allerdings das Script neu installiert werden. Ein Portieren der config.php nach config-local.php ist nicht durch Kopieren der Datei erzieht, da viele Konstanten nun ausgetauscht sind gegen Konfigurationseintraege (temporaere derzeit).

Bitte dazu im Forum unter http://forum.mxchange.org/forum-28.html nachfragen. Vielleicht wird auch bald ein kleines Tutorial eingestellt. Eigentlich ist die Portierung aber ganz simpel. :)

~0000332

Quix0r (administrator)

Ist nur als "partitialy solved" durchgegangen. Commit 1017 enthaelt die noetigen Anpassungen.

~0000335

Quix0r (administrator)

Commit 1027 bzw. 1028 mit wieder funktionierendem Redirect enthaelt u.a. eine neue Funktion, die die alte Konfigurationsdatei inc/config.php nach inc/cache/config-local.php umschreibt.

Derzeit ist noch folgender Bug bekannt:
Boolische Konstanten werden noch verkehrt umgeschrieben. Diese sollten als true=Y und false=N umgeschrieben werden.

~0000361

Quix0r (administrator)

Die boolischen Werte sollten nun alle umgewandelt sein nach Y/N.

~0000791

Quix0r (administrator)

Und zu damit.

~0000823

Quix0r (administrator)

Nützliche Randnotiz: inc/cache/config-local.php ist nun das Dateiziel, damit inc/ nicht beschreibbar sein muss (was mehr Sicherheit bringt), sondern nur noch inc/cache/ (was die Installation vereinfacht).
+Notes

-Issue History
Date Modified Username Field Change
2009-04-02 20:42 Quix0r New Issue
2009-04-02 20:43 Quix0r Projection none => major rework
2009-04-02 20:43 Quix0r ETA none => 2-3 days
2009-04-03 03:14 user13 Note Added: 0000328
2009-04-03 20:39 Quix0r Status new => assigned
2009-04-03 20:39 Quix0r Assigned To => Quix0r
2009-04-03 20:40 Quix0r Note Added: 0000329
2009-04-06 21:27 Quix0r Note Added: 0000330
2009-04-06 21:27 Quix0r Status assigned => resolved
2009-04-06 21:27 Quix0r Fixed in Version => 0.2.1-FINAL
2009-04-06 21:27 Quix0r Resolution open => fixed
2009-04-06 21:29 Quix0r Note Added: 0000331
2009-04-06 21:35 Quix0r Note Added: 0000332
2009-04-06 21:35 Quix0r Status resolved => feedback
2009-04-06 21:35 Quix0r Resolution fixed => reopened
2009-04-12 17:22 Quix0r Note Added: 0000335
2009-04-12 17:25 Quix0r Status feedback => assigned
2009-07-28 21:19 Quix0r Note Added: 0000361
2009-07-28 21:19 Quix0r Status assigned => resolved
2009-07-28 21:19 Quix0r Resolution reopened => fixed
2010-05-28 19:21 Quix0r Product Version => 0.2.1-FINAL
2016-11-23 11:27 Quix0r Note Added: 0000791
2016-11-23 11:27 Quix0r Status resolved => closed
2016-11-23 12:17 Quix0r Note Added: 0000823
+Issue History