Frage

Ich habe einen WAMP 2.0-server installiert, auf Win XP .Apache, version :2.2.11 PHP Version :5.3 MySQL :5.1.36

Ich habe über 11 Tabellen in der mysql .Jedes ausführen meiner Webanwendung (HTML/Jquery/PHP/MySQL) füllt etwa 100 Zeilen in 2 Tabellen.(Eine der Tisch hat 2 Lange blob-Spalten, in denen Daten der Größe bis zu 20 MB hochgeladen ist, habe ich das geändert Max_allowed_packet Größe 32M in meine.ini-Datei )

Die Anwendung funktioniert gut für etwa 3 Wochen, bis die Anzahl der Zeilen in einer Tabelle erreicht >1500 .

Ich sehe dann das httpd-crash-Meldung (Apache httpd Fehler aufgetreten und es muss geschlossen werden ), und es sagt, illegale Speicher Referenzprojekt Nachfolgend finden Sie einige Protokolle

szAppName : httpd.exe     szAppVer : 2.2.11.0     szModName : php5ts.dll     
szModVer : 5.3.0.0     offset : 0000c309     


C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\httpd.exe.mdmp
C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\appcompat.txt

Wenn ich deaktivieren Sie die zwei Tabellen (1500 > Zeilen ).Immer noch das problem gesehen wird .

Ich bin mit PHP PDO update der Tabellen.

Kann jemand mich leiten, wie dies immer ein blocker.

Grüße, Mithun

War es hilfreich?

Lösung

PROBLEM:

Ich habe den Verdacht, dass Sie auf eine 2-GB-Dateigröße Wand.2 Probleme mit Ihrem setup:

  • Erstes problem:Sie läuft dies auf windows.
  • Zweites problem:Sie läuft dies auf windows.:-)

GRUND:

Witze beiseite, Mysql speichert die Daten in seinem root-Ordner (zum Beispiel C:\Program Files\MySQL\MySQL Server 5.0\data).Jeder Unterordner entspricht einer db-in Ihrer Instanz von MySQL.In jedem Ordner gibt es eine Datei mit der Erweiterung .frm das entspricht den Tabellen.Sehen Sie, wenn Sie den Tisch, den Sie speichern Ihre uploads in nähert sich einem Grenzwert von 2 GB.Wenn man bedenkt, dass Sie haben eine Spalte, die Shop uploads BIS ZU 20 Mb * 1500 Zeilen - das ist etwa um 2 GB (vorausgesetzt, die meisten der Dateien sind kleiner als 20 MB) Leider hat Windows XP wirklich harte Zeit den Umgang mit Dateien größer als 2GB - Einschränkungen von Datei-system-und OS.Es ist der gleiche Grund, warum Menschen bekommen in Schwierigkeiten mit Ihren outlook - weil Sie nicht Sortieren oder reinigen Ihre E-Mails.

LÖSUNG:

Dritte Aufgabe - Sie speichern binäre Daten in eine db - nie eine gute Idee.Speichern Sie es auf der Festplatte - und halten Sie einfach Referenz (oder Pfad) in der db.Oder Sie können Ihre aktuelle setup für eine Weile, wenn Sie auf **nix* system, dass unterstützt große Dateien.Aber dies ist immer noch eine schlechte Idee zum speichern von binären Daten, die Größe in der DB direkt.Es macht auch Ihre DB-sucht langsamer, und die sicherungen VIEL langsamer (da es keine einfache inkrementelle backup in MySQL)

Hoffe, das hilft.

EDIT:

Ich vergaß zu erwähnen, da Sie mit WAMP, Ihre MySQLfolder würde Sie in Ihrem WAMP-installation Ordner.Standardmäßig ich denke, es sollte in c:\wamp\mysql\data - aber ich erinnere mich nicht sicher.Normalerweise verwende ich XAMMP auf Windows.

Andere Tipps

Es gibt viele mögliche Gründe, warum dies geschieht. Halten Sie eine Reihe von allen 20 MB Objekte im Speicher? Wie das wächst man die Erhöhung der Größe der Apache pro Prozess bis zu dem Punkt werden könnte, wo man aus der Erinnerung sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top