2017-06-13 4 views
1

Ich muss ein Bild erstellen, das 23040 x 18688 Pixel ist. Wenn ich ein kurzes Skript machen bekomme ich folgende Fehlermeldung:Speicherlimit bei imagecreatetruecolor()?

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 92160 bytes) in C:\xampp\htdocs\new\bvg\index.php on line 4

Warum es einen Fehler wirft, wenn 92160 Bytes unter dem 1 GB ist gut ich dafür zugeteilt? Hier ist mein Code:

ini_set('max_execution_time', 3000); 
ini_set('memory_limit','1024M'); 

$newImage = imagecreatetruecolor(23040,18688); 

Vielen Dank!

+0

Es versucht 92160 * mehr * Bytes zuzuteilen, als es vorher war, was es über die Speichergröße erlaubt setzen (so waren Sie irgendwo über 1073649664 Bytes vorher) –

+0

Weil Sie '1073741824' bereits benutzt haben und versuchen, ein zusätzliches' 92160' zuzuordnen, das es über das 'memory_limit' setzt – RiggsFolly

+0

Beachten Sie, dass Sie mindestens 23040 x 18688 x 4 Bytes (1.722.286.080 Bytes, oder 1.681.920k oder 1.682M) Speicher nur für das Bild, sowie für den Speicher, der von Ihrem Skript und anderen Variablen benötigt wird .... das ist mehr als das 1024M Maximum, das Sie konfiguriert haben –

Antwort

0

Versuchen zu verwenden ini_set('memory_limit', '-1'); Dies wird die Speichergrenze in aktuellen Skript entfernen

+0

Ich habe das versucht. Es sagte, ich hatte keine Speicher mehr. –

+0

Während es richtig ist - das entfernt die Speicherliste - beantwortet es nicht die Fragen darüber, was benötigt wird, um ein 23040x18688 Bild in PHP zu erstellen. –

Verwandte Themen