Autor Gast
Datum 14.06.2009 12:35
Beiträge:

Hallo,
in meinem CACHE-Ordner haben sich mittlerweile an die (vermutete) hunderttausend Session-Files angesammelt.
Warum "vermutet"? Nun, ich bin mittlerweile soweit, dass ich ein Timeout vom FTP-Server bekomme, wenn ich in das Cache-Verzeichnis wechsle (weil das LS so lange dauert). Das letzte mal, als ich noch hineinkonnte waren über 40.000 Files enthalten...

Wie kann ich die Teile löschen?

Das "Lösche Session files" im Diagnosic-Bereich (Admin) liefert mir nur ein lapidares "Delete counter: 1990".
Wobei ich keine Erklärung für 1990 habe - die Anzahl der Session-Files ist nämlich ein Vielfaches.

Bitte um Hilfestellung, wie ich das abschalten kann - es ist etwas unpraktisch, immer den Support des Hosters bemühen zu müssen, alle SESS-Files im Verzeichnis mit dem root-User löschen zu lassen.

Danke,
Boby





Autor Gast
Datum 14.06.2009 12:37
Beiträge: Das bekomme ich vom FTP-Server mittlerweile:

Status: Empfange Verzeichnisinhalt...

Befehl: CWD opn

Antwort: 250 CWD command successful

Befehl: PWD

Antwort: 257 "/opn" is the current directory

Befehl: PASV

Antwort: 227 Entering Passive Mode (85,13,133,62,195,81).

Befehl: LIST

Antwort: 150 Opening ASCII mode data connection for file list

Antwort: 226 Transfer complete

Status: Anzeigen des Verzeichnisinhalts abgeschlossen

Status: Empfange Verzeichnisinhalt...

Befehl: CWD cache

Antwort: 250 CWD command successful

Befehl: PWD

Antwort: 257 "/opn/cache" is the current directory

Befehl: PASV

Antwort: 227 Entering Passive Mode (85,13,133,62,195,107).

Befehl: LIST

Antwort: 150 Opening ASCII mode data connection for file list

Antwort: 421 No transfer timeout (300 seconds): closing control connection

Fehler: Verzeichnisinhalt konnte nicht empfangen werden

Fehler: Verbindung vom Server geschlossen





Autor stefan
Datum 14.06.2009 13:10
Beiträge: Boby schrieb am 14.06.2009 um 12:35:28 Uhr folgendes:


Das "Lösche Session files" im Diagnosic-Bereich (Admin) liefert mir nur ein lapidares "Delete counter: 1990".
Wobei ich keine Erklärung für 1990 habe - die Anzahl der Session-Files ist nämlich ein Vielfaches.



Er löscht im diagnostic max eine bestimme Anzahl (ca. 2000) das hat seien Grund darin das er dazu Zeit benötig weil er auch prüft ob die session noch "wichtig" ist. Er löscht also nur nicht mehr benötigte.

Jetzt hast du paar Möglichkeiten.

1) wenn du die Zahl da stehen hast F5 ...
2) Automatischer Reload der Seite - geht im FF

Für die Zukunft solltest du dafür einen Job einrichten der dann das Regel Mässig macht so das sich nicht die Anzahl ansammeln kann.


Autor Gast
Datum 14.06.2009 19:32
Beiträge: Hallo Boby

Genau das gleiche Problem hatte ich auch auf einem Hosteurope Server.
Damals musste ich täglich per FTP diese Files löschen, denn nach ein paar Tagen waren darin soviele sess Files, dass ich per FTP keinen Zugriff mehr hatte.

Stefan baute genau für solche Fälle im Diganostic Bereich diese nette Funktion ein. Kombiniert mit dem CronJob Modul eine richtig feine Sache.
Seit ich das nutze, habe ich keine Problem mehr mit den session Files.

Übrigens habe ich damals den Hoster auf diesen Fehler aufmerksam gemacht, dieser reagiert aber überhaupt nicht auf mein Anliegen.
Laut Support sei der Server korrekt konfiguriert, was er definitiv nicht war und auch bis heute nicht ist.

Flash



Autor Gast
Datum 16.06.2009 21:10
Beiträge: Naja,
war wohl nur teilweise erfolgreich...

Habe alles gemäß der Doku eingerichtet - und dem opn-cronjob.sh auch 777 gegeben (da sonst Fehlermeldung).
Als dann alles fuzen sollte, kam DAS im Diagnostig ("start.sh for cronjob"):

-
ERROR [2] chmod() [function.chmod]: Operation
not permitted
FOUND IN
[admin/diagnostic/repair_tools/repair_shcronjob_file.php]
FOUND AT
72

Endstation?

Ciao,
Boby



Autor stefan
Datum 16.06.2009 21:48
Beiträge: Nach was hast du den cronjob eingerichtet?

Es gibt 3 nutzbare Wege und 2 weitere eingeschränkt nutzbar.

Möglichkeit 1.

Hast du einen Rootserver und willst einen "echten" job einrichten

Möglichkeit 2.

Keine schell aber dein Hoster bittet (Web)-Cronjobs (Nett jeder Hoster anderes)

Möglichkeit 3.

Hast kein Root und auch keine Jobs durch deinem Hoster. Dann wäre das das über rein OPN zu machen.


Autor Gast
Datum 16.06.2009 23:12
Beiträge: Könnte Variante 2 anbieten - kann mit einer speziellen Oberfläche Einträge in den CRON vornehmen.

Dort habe ich auch einen Eintrag auf das Script "/www.rc-boote.at/opn/opn-bin/opn-cronjob.sh<b>">opn/opn-bin/opn-cronjob.sh" gemacht.

Als Ergebnis habe ich folgendes Mail vom System meines Hosters erhalten:
www.rc-boote.at/opn/opn-bin/opn-cronjob.sh<b>">#!/bin/sh cd /www/htdocs/vxxxxxx/opn/opn-bin/ # run opn cron on this url export HTTP_HOST=http://www.rc-boote.at/opn /www/htdocs/vxxxxxx/opn/opn-bin/opncron.php
(vxxxxxx = Benutzer-ID; habe ich hier aus Sicherheitsgründen verfremdet)

Könnte aber auch mit Variante 3 leben...

Ciao,
Boby



Autor just59
Datum 17.06.2009 10:18
Beiträge: Ich kann bei meinem Hoster ein php Script angeben. Dies wird dann zur festgelgeten Zeit ausgeführt.
Wie müsste denn der Code lauten, wenn da die Sessionfiles gelöscht werden sollen. Danach eventuell noch eine Optimierung und Sicherung der Datenbank?



JUSt
just-info / Mein Gartenverein Portal für Gartenfreunde...
Suse 10.1, PHP 5.2.10 und MySQL 5.0.67.,Administration 2.5.1 [Iphigenie] (Revision 4533)


Autor stefan
Datum 21.06.2009 12:43
Beiträge: Einstellungen -> Hintergrund Prozesse -> session Dateien automatisch löschen?

Ja

Dann ruf mal

DEINURL/masterinterface.php?cronjob=1

auf.

Da sollte keine Fehlermeldung oder sonst was kommen.

"ich kann bei meinem Hoster ein php Script angeben. Dies wird dann zur festgelgeten Zeit ausgeführt. "

Diese URL kannst du dann dort ablegen.

Das ist eine Möglichkeit



Autor just59
Datum 21.06.2009 17:27
Beiträge: Leider kommt dann ein Fehler:
WARNING [8] Undefined variable: table<br />FOUND IN [system/optimize/admin/function.php]<br />FOUND AT 75<br /><br />Fatal error: Call to a member function GetTable() on a non-object in /www/htdocs/xxx/system/optimize/admin/function.php on line 75

Habe hier nur den Link abgeändert.
Wie in den anderen Thema beschrieben, sind auch andere Fehlermeldungen in Errorlog zu sehen. Die Seite wird aber richtig angezeigt. Auch Beiträge können erstellt werden.


JUSt
just-info / Mein Gartenverein Portal für Gartenfreunde...
Suse 10.1, PHP 5.2.10 und MySQL 5.0.67.,Administration 2.5.1 [Iphigenie] (Revision 4533)


Autor stefan
Datum 21.06.2009 18:31
Beiträge: http://websvn.openphpnuke.info/diff.php?repname=openPHPnuke&path=%2Ftrunk%2Fopenphpnuke%2Fhtml%2Fsystem%2Foptimize%2Fadmin%2Ffunction.php&rev=3517&sc=1

Rev. 3517 sollte es beheben.

Wobei du scheinbar noch die Tabellen Optimierung mit angekreuzt hast


Autor just59
Datum 22.06.2009 18:05
Beiträge: Na dann werde ich mal auf das nächste Update warten..


JUSt
just-info / Mein Gartenverein Portal für Gartenfreunde...
Suse 10.1, PHP 5.2.10 und MySQL 5.0.67.,Administration 2.5.1 [Iphigenie] (Revision 4533)


Autor Gast
Datum 07.08.2009 20:57
Beiträge: Habe das Problem jetzt mit einem Cron gelöst, den ich direkt bei meinem Hoster eingetragen habe. Stündlich starte ich folgends Script:
<?php
$verzeichnis = openDir("/www/htdocs/v123456/opn/cache");
while (false !== ($file = readdir($verzeichnis)))
{
if (substr($file,0,5) == "sess_")
{
unlink($file);
}
}
closeDir($verzeichnis);
?>

Vielleicht kann's ja jemand brauchen.

Ciao,
Boby





Diese Seite drucken
Diese Seite schließen

Dieser Artikel kommt von: OpenPHPNuke - das Open Source CMS

http://www.openphpnuke.info/