Deutsch| English
  #1  
Alt 05.01.2011, 18:04
Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 34
Standard Quota-Ausgabe Fehler ISPConfig 3.0.3.1 / ISPConfig 3.0.4.4

Hallo,

mir ist kürzlich aufgefallen, dass die Quota-Ausgabe übers Controlpanel bei mir nur sporadisch funktioniert. Selten wird alles korrekt angezeigt (kurz nach einem Serverneustart), aber meistens bekomme ich den Fehler:
Code:
Fatal error:  Unsupported operand types in /usr/local/ispconfig/interface/web/sites/user_quota_stats.php on line 49
Die betroffene Stelle in der Datei user_quota_stats.php sieht so aus:
Code:
if($rec['used'] > 1024) {
                        $rec['used'] = round($rec['used'] / 1024,2).' MB';
                } else {
                        $rec['used'] .= ' KB';
                }
Der Fehler taucht in der round()-Funktion auf. Ich habe mir nun $rec['used'] genauer angesehen. Der Inhalt davon ist wieder ein Array.
==> Der Zugriff muss auf das richtige Array Element geschehen.

Durch den Zugriff auf das 2. Array Element funktioniert es:
Code:
 ...
                        $rec['used'] = round($rec['used'][1] / 1024,2).' MB';
 ...
Merkwürdig ist, dass der Fehler nur bei mir auftritt. Zumindest habe ich noch niemanden mit selbigem Problem gefunden.

Geändert von daben (11.05.2012 um 11:47 Uhr). Grund: Fehler nun auch unter ISPConfig 3.0.4.4
Mit Zitat antworten
  #2  
Alt 06.01.2011, 23:13
Neuer Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 4
Standard

Kann den Fehler auf unserer Installation auch bestätigen.

Tauchte nach dem automatischen Update auf 3.0.3.1 auf, während dessen allerdings meine SSH Verbindung mit dem Server abbrach aus welchen Gründen auch immer.

Hatte vor ISPConfig nächste Woche einmal neu zu installieren, in der Hoffnung das Problem zu fixen. Sollte es dafür allerdings eine alternative Lösung geben - gerne.

Habe mich daher auch noch nicht mit Ursachenforschung beschäftigt, bin aber gerne bereit dazu, wenn es hilfreich ist.

Grüße

Jan Peters
Mit Zitat antworten
  #3  
Alt 06.01.2011, 23:25
Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 34
Standard

also mein Hotfix sieht so aus:

nach
Code:
  $rec['used'] = $monitor_data['user'][$username]['used'];
  $rec['soft'] = $monitor_data['user'][$username]['soft'];
  $rec['hard'] = $monitor_data['user'][$username]['hard'];
füge ich in Zeile 48

Code:
if (!is_numeric($rec['used']))
  $rec['used']=$rec['used'][1];
if (!is_numeric($rec['soft']))
  $rec['soft']=$rec['soft'][1];
if (!is_numeric($rec['hard']))
  $rec['hard']=$rec['hard'][1];
ein. Der Rest der Datei bleibt unangetastet.
Mit Zitat antworten
  #4  
Alt 07.01.2011, 13:32
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Ich hab es mal im Bugtracker aufgenommen.
Mit Zitat antworten
  #5  
Alt 28.01.2011, 19:54
Neuer Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 4
Standard

Dankeschön für den Lösungshinweis, hat wunderbar funktioniert!

Grüße und einen schönen Abend noch!
Mit Zitat antworten
  #6  
Alt 05.02.2011, 17:29
Neuer Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 4
Standard

Noch eine kurze Ergänzung: Es werden jetzt zwar Werte angezeigt, diese stimmen aber zum Großteil nicht. Bei den meißten Sites steht dort "4kb", bei einigen wenigen allerdings die richtige Größe.
Inzwischen läuft 3.0.3.2 bei uns auf dem Server.

Nun das merkwürdige: Ich habe bereits einmal, nach dem Einspielen des "Patches" die (vermeintlich) richtigen Werte gesehen.

Irgenwelche Ideen?
@daben: Stimmen die Werte bei dir? Falls ja, muss ich wohl nochmal checken, was da mit dem Quota bei uns nicht stimmt.

Grüße und Danke für die Unterstützung

Jan Peters
Mit Zitat antworten
  #7  
Alt 05.02.2011, 18:01
Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 34
Standard

bei mir sind die Werte korrekt!
Was sagt denn die quota-Ausgabe, wenn du diese direkt von der Kommandozeile aus machst?

repquota -a -u

Sind die Werte korrekt?
Mit Zitat antworten
  #8  
Alt 05.02.2011, 18:12
Neuer Benutzer
 
Registriert seit: 06.01.2011
Beiträge: 4
Standard

Die Werte passen, kurzer Auszug anbei:

Code:
.
.
.
web110     +-   31232   30720   31744   none    1990     0     0
web112     --   62512  102400  103424           3223     0     0
web113     --   86888  153600  154624           2877     0     0
web114     --   50220   51200   52224           2882     0     0
web115     --   25152   51200   52224           1989     0     0
web116     --   21664   51200   52224           1812     0     0
web117     --   71356  102400  103424           2372     0     0
web119     --   82064 1536000 1537024           1888     0     0
web120     --   14740   51200   52224           1151     0     0
web121     --  110196  512000  513024           4828     0     0
web122     --   95092  512000  513024           8674     0     0
web124     --   32100  307200  308224           4088     0     0
web125     --   32284  102400  103424           2074     0     0
web132     --  108788  204800  205824           4179     0     0
web141     --   50960 1024000 1025024           6903     0     0
web142     --   16740  102400  103424           2468     0     0
web143     --  233584  256000  257024          14141     0     0
web144     --      68  102400  103424             19     0     0
web146     --   44280   51200   52224           2627     0     0
web150     --   14200  102400  103424           1763     0     0
web151     --   44256   51200   52224           2984     0     0
web152     --   58632 1536000 1537024           2813     0     0
web154     --  125016 1024000 1025024          14054     0     0
web155     --   10588  102400  103424           1088     0     0
.
.
.
In ISPConfig hat die Domain von web155 z.B. nur 4kb.
Spaßig ... jetzt gerade nach dem Ausführen von repquota -a -u stimmen die Werte "mal wieder"... sehr komisch.

//Update (19:25 Uhr):
Und schwups, da sind nun fast alle Einträge wieder auf "4kb". Irgendwas scheint da nicht richtig zu laufen...

Grüße

Geändert von JanPeters (05.02.2011 um 19:25 Uhr).
Mit Zitat antworten
  #9  
Alt 09.02.2011, 23:50
Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 34
Standard

Du kannst nach
Zitat:
$rec['used'] = $monitor_data['user'][$username]['used'];
mal $rec['used'] komplett ausgeben lassen:

Zitat:
print_r($rec['used']);
evtl. steht der korrekte Wert an einer anderen Array-Position.
Mit Zitat antworten
  #10  
Alt 11.05.2012, 11:45
Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 34
Standard

Nach einem Distributionsupgrade von Debian 5 auf Debian 6 habe ich nun mit ISPConfig 3.0.4.4 erneut den Fehler.
Die korrekten Werte stehen auf dem Server nun in $rec['used'][0] anstatt $rec['used'][1].

Zitat:
Array ( [0] => 45120 [1] => 60 ) Array ( [0] => 1092360 [1] => 0 ) Array ( [0] => 54760 [1] => 52 ) Array ( [0] => 310440 [1] => 56 )...
Da es bei meinem zweiten Server im Element [1] steht habe ich den Code nun folgendermaßen angepasst:
Code:
if (!is_numeric($rec['used'])){
                        if ($rec['used'][0] > $rec['used'][1]){
                                $rec['used']=$rec['used'][0];
                        }else{
                                $rec['used']=$rec['used'][1];
                        }
                }
                if (!is_numeric($rec['soft'])) $rec['soft']=$rec['soft'][1];
                if (!is_numeric($rec['hard'])) $rec['hard']=$rec['hard'][1];
Damit werden nun überall wieder die korrekten Werte angezeigt. Es ist aber schon etwas seltsam...
Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:15 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0