2016-11-29 3 views
0

Ich erstelle derzeit ein Webformular auf einem opensuse-Webserver, der eine textarea enthält, in der Sie Bilder mithilfe von Kopieren und Einfügen hinzufügen können. Wir haben dies getan, indem wir einen DIV verwendet haben und ihm den "contenteditable="True" Wert gegeben haben.MSSQL nvarchar (max) auf opensuse-webserver

Dies führt zu einer sehr langen Zeichenfolge im POST, die leicht über 120000 Zeichen hinausgeht.

Ich muss eine MSSQL-Datenbank verwenden, in der ich alles speichern wollte.

Speichern und Auswählen dieser Zeichenfolge in Microsoft SQL Server Management Studio mit nvarchar(max) ist kein Problem. Aber wenn dies zu wählen versucht, über den Webserver der Fahrer versucht, 4 GB Arbeitsspeicher zuzuteilen über (Dies ist ein bekanntes Problem, siehe here) und gibt somit einen schwerwiegenden Fehler:

Allowed memory size of 268435456 bytes exhausted (tried to allocate 4294967293 bytes).

ich auch habe versucht mit den BINARY oder IMAGE Datentypen, aber konnten die Daten nicht mit PHP aus der Datenbank lesen.

Leider konnte ich diesbezüglich keine Lösung finden, daher hoffe ich, dass mir jemand hier helfen kann.

+0

Gesäuberter und dokumentierter Code; reorganisierte Frage – rfornal

Antwort

0

Fügen Sie diese Zeile hinzu ini_set ('memory_limit', '-1'); am Anfang deines Skripts und versuche es.

Eine weitere Sache, die ich vorschlagen kann, ist, ein Bild aus der Zeichenfolge erstellen und in Ihrem Server speichern, dann nur den Pfad zu diesem Bild in Ihrer Datenbank speichern. versuche die Funktion imagecreatefromstring zu verwenden (

+0

Das funktioniert leider nicht. Ich arbeite an einem Webserver der Firma und das macht nur, dass die Seite einfach nicht angezeigt werden kann. – PascalW

Verwandte Themen