MyBB.de Forum

Normale Version: Fatal error: Allowed memory size exhausted
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Beim Bearbeiten und Erstellen von Foren bekomme ich diese Fehlermeldung:

Zitat:Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 3538855 bytes) in /home/www/cwcity/hosting/g/y/gypsydeath/htdocs/inc/db_mysql.php on line 852
Was sie besagt, weiss ich und habe dem Anbieter auch schon geschrieben, aber noch keine Antwort erhalten.

In den PHP-Infos steht, dass ich 64M Memory Size zur Verfügung hab, was eine ganze Menge ist, oder?
Deshalb wollte ich herausfinden, weshalb es überlastet wird. An den Plugins liegt es nicht, das Merkwürdige ist auch, dass die Änderungen trotz der Fehlermeldung durchgeführt werden. Heisst, erstelle ich ein Forum, bekomme ich zwar die Meldung und werde nicht richtig weitergeleitet, das Forum ist aber dennoch erstellt worden. Gleiches, wenn ich beispielsweise die Berechtigungen ändere, um die wirksam zu machen, muss ich im Cache-Manager das forumpermissions-Cache erneuern, dann wird alles richtig übernommen.

In der db_mysql.php sind das Folgende Zeilen, in denen der Fehler auftaucht:

PHP-Code:
    /**

     * Escape a string according to the MySQL escape format.
     *
     * @param string The string to be escaped.
     * @return string The escaped string.
     */
    
function escape_string($string)
    {
        if(
function_exists("mysql_real_escape_string") && $this->read_link)
        {
            
$string mysql_real_escape_string($string$this->read_link);
        }
        else
        {
            
$string addslashes($string);
        }
        return 
$string;
    }
    
    
/** 

Was genau bewirken diese Zeilen und kann ich irgendetwas daran änderen, damit die Fehlermeldung nicht mehr auftaucht?
(28.08.2013, 16:52)melancholia schrieb: [ -> ]In den PHP-Infos steht, dass ich 64M Memory Size zur Verfügung hab, was eine ganze Menge ist, oder?
Ja, so viel sollte dem MyBB eigentlich reichen. Aber da können viele Faktoren reinspielen, sodass ich keine pauschale Empfehlung dazu aussprechen kann.
Allerdings würde ich von der Verwendung der mysql-Erweiterung abraten, stattdessen sollte die mysqli-Erweiterung verwendet werden. Ob diese weniger Speicher verbraucht, weiß ich allerdings nicht. Dies kann in der inc/config.php bei $config['database']['type'] geändert werden.
Wenn ich verändere, wird mir auch eine Fehlermeldung angezeigt, diesmal bezieht er sich aber auf diese Zeilen:

PHP-Code:
    /**
     * Replace contents of table with values
     *
     * @param string The table
     * @param array The replacements
     */
    
function replace_query($table$replacements=array())
    {
        
$values '';
        
$comma '';
        foreach(
$replacements as $column => $value)
        {
            
$values .= $comma."`".$column."`='".$value."'";
            
            
$comma ',';
        }
        
        if(empty(
$replacements))
        {
             return 
false;
        }
        
        return 
$this->write_query("REPLACE INTO {$this->table_prefix}{$table} SET {$values}");
    }
    
    
/** 
Wird diese Fehlermeldung nur im ACP beim erstellen eines Forums angezeigt oder sonst noch irgendwo?
Nur im ACP beim Bearbeiten und Erstellen von Foren. Ansonsten ist sie mir noch nicht begegnet.
Sei vorsichtig, ich hatte das Problem auch mal, bei allen bearbeiteten Foren haben die Berechtigungen nicht mehr richtig gegriffen, was Horror, das zu beheben bevor User das bemerkten.
Deshalb mag ich es ja auch irgendwie beheben.. noch funktioniert es, wenn ich das forumpermissions-Cache erneuere, befürchte aber, dass ich irgendwann weder Berechtigungen ändern noch neue Foren erstellen kann.

64M Memory Size sollten enügen, aber laut den Fehlermeldungen bräuchte er ja 68M..
Von CwCity bekomme ich keine Reaktion auf die Support-Mail.. und bisher hatte ich da noch nie Probleme mit dem Anbieter.

Im Forum gibt es übrigens 139 Themen und 366 Beiträge, bisher auch nur 6 Benutzer, da das Forum noch nicht öffentlich ist, Benutzergruppen 8.

Worauf beziehen sich die Code-Abschnitte denn, in denen die Fehlermeldungen auftauchen?
Nunja, als erstes kannst du versuchen, das Memory Limit hochzustellen. Aber das wirst du wohl mit dem Support machen müssen.

Die Zeile in der Fehlermeldung sagt nur aus, welche Zeile zuletzt ausgeführt wurde, während das Memory Limit erreicht wurde.
Womit kann ich ganz allgemein den Arbeitsspeicher weniger belasten?

Die Plugins habe ich probeweise alle schon mal ausgeschaltet, die Fehlermeldung besteht aber weiter.
Ich habe die Anzahl Tage, bis ein Beitrag als gelesen markiert wird, schon herunter gestellt.
Ich hab schon Foren gelöscht, bzw. zusammen genommen, um die Anzahl zu verringern, aber da es sich um ein Rollenspielforum handelt, muss es möglich sein, auch in Zukunft weiter Foren dazu erstellen zu können.

... Sad
Als Zusatz, auch wenn ich nicht weiss, ob das irgendwie hilft..

Wenn ich eine Sicherung der Datenbank via MySQLDumper mache, umfasst die Datei 919,88 KB.
Im ACP steht bei Datenbank-Größe gesamt 6,47 MB.
Via ACP umfasst die Sicherungs-Datei 872,29 KB.
Seiten: 1 2 3