Modify

Opened 11 years ago

Last modified 8 years ago

#268 reopened Erweiterung

SQL_CACHEDIR hardcodiert über "application_top.php"

Reported by: Torsten Riemer Owned by: somebody
Priority: normal Milestone:
Component: Shop Version: 2.0.1.0
Keywords: Cc:
Blocked By: Blocking:

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 by Gerhard Waldemair, 11 years ago

Resolution: closed
Status: newclosed

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 by anonymous, 10 years ago

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 by anonymous, 10 years ago

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 by Torsten Riemer, 10 years ago

Resolution: closed
Status: closedreopened

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 by anonymous, 10 years ago

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 by Torsten Riemer, 10 years ago

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

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

Last edited 10 years ago by Torsten Riemer (previous) (diff)

comment:7 by Gerhard Waldemair, 10 years ago

Milestone: modified-shop-2.00modified-shop-2.10
Version: 2.02.10

comment:8 by Torsten Riemer, 8 years ago

Milestone: modified-shop-2.1.0.0

Modify Ticket

Action
as reopened The owner will remain somebody.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.