HintergrundKonvertieren Unterschrift Bild PHP
I von 5,3 bis 7 zur Zeit eine PHP-Anwendung bin ich Aktualisierung 5.6 bin Targeting mit zu beginnen.
Es gibt einen Abschnitt der App, der eine Signatur in ein Bild konvertiert. Wenn diese Datei ausgeführt wird, erhalte ich diesen Fehler.
Fehler
Fatal error: Erlaubt Speichergröße von 33554432 Bytes erschöpft (versucht 20480 Bytes zuzuteilen) in signature-to-image.php auf Linie
Dies ist die Zeile, auf die im Fehler verwiesen wird.
-Code
$img = imagecreatetruecolor($options['imageSize'][0] * $options['drawMultiplier'], $options['imageSize'][1] * $options['drawMultiplier']);
Frage
Könnte das Problem hier jemand erklären?
Ich dachte, dies hat mit einer Serverkonfiguration und nicht eine Version von PHP-Problem zu tun. Jede Hilfe wäre willkommen.
array(5) {
["imageSize"]=>
array(2) {
[0]=>
int(373)
[1]=>
int(95)
}
["bgColour"]=>
array(3) {
[0]=>
int(255)
[1]=>
int(255)
[2]=>
int(255)
}
["penWidth"]=>
int(2)
["penColour"]=>
array(3) {
[0]=>
int(0)
[1]=>
int(0)
[2]=>
int(0)
}
["drawMultiplier"]=>
int(12)
}
<br />
<b>Fatal error</b>: Allowed memory size of 33554432 bytes exhausted (tried to allocate 20480 bytes)
Meiner Erfahrung nach neueren PHP-Versionen sind in der Regel * weniger verwenden * Speicher, mehr nicht. Setzen Sie 'memory_limit' explizit oder verlassen Sie sich auf den Systemstandard? –
Ein 32Mb Limit ist ziemlich klein. Ihr 5.3-Server hat wahrscheinlich eine höhere Einstellung. –
Häufiger als nicht "Erlaubte Speichergröße von [BIG Nummer] erschöpft (versucht, [KLEINE Nummer] zuzuweisen)" bedeutet normalerweise, dass Sie irgendwo eine Endlosschleife haben oder einfach zu viel tun, ohne Speicher freizugeben. Erinnern Sie sich daran, 'imagedestroy' aufzurufen, um den Speicher freizugeben, nachdem Sie mit einer Bildressource fertig sind? –