Opened 7 years ago

Last modified 3 years ago

#268 reopened Erweiterung

SQL_CACHEDIR hardcodiert über "application_top.php"

Reported by: Tomcraft Owned by: somebody
Priority: normal Milestone:
Component: Shop Version: 2.0.1.0

Description

Mir ist gerade durch Zufall aufgefallen, dass "SQL_CACHEDIR" hardcodiert in den "application_top.php" Dateien steht.

// SQL caching dir
define('SQL_CACHEDIR', DIR_FS_CATALOG.'cache/');

Würde es hier nicht Sinn machen, dass wir entweder folgenden Code benutzen:

// SQL caching dir
define('SQL_CACHEDIR', DIR_FS_CACHE);

Oder wir einen weiteren Wert in die Tabelle "configuration" einfügen, beispielsweise "DIR_FS_SQLCACHE", so dass man unter "Erweiterte Konfiguration" -> "Cache Optionen" auch für den "DB Cache" einen Ordner definieren kann?

Attachments (0)

Change History (8)

comment:1 Changed 7 years ago by GTB

  • Resolution set to closed
  • Status changed from new to closed

das Verzeichnis wird in der paths.php festgelegt. Eine zusätzliche Einstellung im Admin finde ich nicht sinnvoll, denn hier muss man den absoluten Pfad angeben.

comment:2 Changed 6 years ago by anonymous

Was du, GTB, sagst widerspricht der Tatsache, daß auch das SESSION_WRITE_DIRECTORY für den Pfad wo bei file-basiertem Session-Handling die Sessions gespeichert werden im Backend einstellbar ist.

Dazu gibt es dann auch noch eine Unlogik oder einen Bug, wenn man so will.
Denn in /admin/configuration.php wird hard-codiert

case 'delcache':
    $path = DIR_FS_CATALOG.'cache/';

wo doch hier die Konstante SESSION_WRITE_DIRECTORY stehen müsste für $path.

Gruß,
noRiddle

comment:3 Changed 6 years ago by anonymous

NACHTRAG:

Okay, sehe gerade, daß ja der DB-Cache und nicht der Pfad für die Sessions gemeint ist mit $path.
Dann jedoch ist der Code aus der login_admin.php nicht korrekt

// reset session write directory
case 'sess_write':
    xtc_db_query('
            UPDATE configuration
            SET    configuration_value = "'.DIR_FS_CATALOG.'cache"
            WHERE  configuration_key   = "SESSION_WRITE_DIRECTORY"
          ');
    die('Report: SESSION_WRITE_DIRECTORY wurde auf das Cache-Verzeichnis zurückgesetzt.');
    break;

denn per Default ist das SESSION_WRITE_DIRECTORY auf /temp gesetzt.

Gruß,
noRiddle

comment:4 Changed 6 years ago by Tomcraft

  • Resolution closed deleted
  • Status changed from closed to reopened

Also dann öffne ich das Ticket nochmal...

Ich verstehe es auch nicht, dass wir teilweise benutzen:

"/admin/configuration.php":

DIR_FS_CATALOG.'cache/'

bzw.:

"/inc/xtc_read_cache.inc.php" / "/inc/xtc_write_cache.inc.php":

DIR_FS_CACHE . $filename

Und dann aber wieder:

"/includes/paths.php":

define('SQL_CACHEDIR', DIR_FS_CATALOG . 'cache/');

Sofern die Verbindung zur Datenbank früh genug steht sollte man daraus machen:

define('SQL_CACHEDIR', DIR_FS_CACHE);

comment:5 Changed 6 years ago by anonymous

Was ist denn /includes/paths.php, bist du da schon in der 2.0 ?
Jedenfalls besteht ein heilloses Durcheinander was Cache-Verzeichnisse und das Directory für die file-basierte Session-Speicherung.

Gruß,
noRiddle

comment:6 Changed 6 years ago by Tomcraft

Ja, bei der Datei "/includes/paths.php" bin ich bei Shopversion 2.00.

Ich gebe dir Recht, dass das überarbeitet werden muss!

Last edited 6 years ago by Tomcraft (previous) (diff)

comment:7 Changed 5 years ago by GTB

  • Milestone changed from modified-shop-2.00 to modified-shop-2.10
  • Version changed from 2.0 to 2.10

comment:8 Changed 3 years ago by Tomcraft

  • Milestone modified-shop-2.1.0.0 deleted

Add Comment

Modify Ticket

Action
as reopened
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.