MyBB.de Forum

Normale Version: redirect Site - Problem mit Speicher
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo zusammen,

Für unsere Kunden stellen wir ein MyBBoard zur Verfügung. Damit die Kunden dieses bequem benutzen können, habe ich eine Seite erstellet, welche die Kunden automatisch ins Forum einloggt.

Funktionierte alles so weit, doch in letzter Zeit hatte ich folgende Meldung im error.log für diese Seite:
Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes)

Kann mir da jemand behilflich sein. Irgendwie muss ich da ein Hacken im Code sein. Weil das Bild das dort geladen wird ist nur 9.71 KB gross.
PHP-Code:
<?php
# define IN_MYBB in order to not fail with the check in inc/init.php
define("IN_MYBB"1);

# regular code:
require "./global.php";
$cache = new datacache;

$cache->updateusergroups();
$cache->updateforums();
$cache->updateforumpermissions();
?>
 <script LANGUAGE="JavaScript">
    function redirectPage() {
      window.location.href=<?php echo '"http://www.abc.com/forum/member.php?action=do_login&username='.$_GET["username"].'&password='.$_GET["password"].'"';?>
    }
  </script>
  <body onload="redirectPage()">
<table width="100%" height="100%">
    <tr><td align="center" valign="middle"><img src="../loadPic.gif"></td></tr>
    <tr><td align="right">
    <?php
        
echo '<a href="http://www.abc.com/forum/member.php?action=do_login&username='.$_GET["username"].'&password='.$_GET["password"].'" />If the site doesn\'t load automatically click here!</a>';
    
?>
    </td></tr>
    </table>
</body>
</html> 
Hm, der Code ist so eigentlich in Ordnung. Wahrscheinlich ist der Server zu dem Zeitpunkt einfach etwas überlastet.
Ist es nötig, dass die Caches neu gebildet werden? Dieser Prozess benötigt Ressourcen und wird vom Forum automatisch ausgeführt, wenn nötig.
Ich habe jetzt mal die Zeile $cache = new datacache; entfernt.
Leider leitet er die Anfrage immer noch nicht weiter. Wieder dieselbe memory Message wie oben.

...und dies immer, wenn ich die Seite aufrufe. Ist also nicht abhängig ob der Server überlastet war.
Also wenn dieser Code weg ist, bleibt noch folgendes:
Eine Konstante definieren (braucht praktisch keinen Speicher)
Eine Datei einbinden (lädt einmal die Datei, auch nichts viel)
Einiges an JavaScript (hat mit dem Server gar nichts zu tun)

=> Ich kann es mir nicht erklären. Der Code ist soweit in Ordnung... Kannst du vielleicht mal einen Link posten?
ich habe jetzt mal testhalber die inezlnen Teile herausgenommen und getestet.
Sobald ich die Zeile $cache->updateforumpermissions(); auskommentiere, lief alles reibungslos.

Kann man dies vielleicht in irgendeiner Art umgehen? Auch wenn ich nur diese funktion aufrufe und die anderen weglasse, meckert der Server.

Da ich dieses Problem erst seit kurzem habe, nehme ich mal an das liegt an der Zahl der User die sich mit der Zeit in der DB angesammelt haben.
Versuch doch mal die Tabelle in deiner Datenbank zu reparieren und optimieren.
Und dann schreib die Zeile nochmal in die Datei rein.
Tritt der Fehler dann immernoch auf?

Warum erneuerst du eigentlich den Cache? Ich seh die Notwendigkeit gerade nicht.
Kannst du kurz erklären was dein Code machen soll?
Danke.
Das mit der Datenbank kann noch ganz gut sein. Ich werde da mal reinschauen.

Zur Erklärung: Über ein Programm kann sich der User direkt ins Forum einloggen. Dabei legt das Programm den User, Usergroup und ein privates Forum für die Gruppe selbst an, wenn die Informationen nicht vorhanden sind. So kann es je nachdem vorkommmen das neue Einträge in die Datenbank geschrieben werden. Damit diese dann auch aktiv werden, muss der Cache erneuert werden.
ich ging jetzt mal ein bisschen über die Datenbank. Aber ich habe keine Ahnung nach was ich schauen soll.
Ich ging mal auf die admin page und optimierte mal die Tables. Aber ich denke mal du hast da an was anderes gedacht. Weil diese Aktion hatte keine Wirkung.
Kannst du bitte ein bisschen explizierter werden, was ich da mit der DB machen soll?
Und du bist dir ganz sicher, dass es an diesem Code liegt? Ich kann mir einfach nicht vorstellen, wie dadurch der Speicher verbraucht werden soll.
Seiten: 1 2 3