2017-06-13 112 views
1

我需要創建一個23040 x 18688像素的圖像。當我做一個簡短的腳本,我得到了以下錯誤: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

爲什麼它拋出一個錯誤時,92160個字節是很好的1GB我分配給它下面?這裏是我的代碼:

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

$newImage = imagecreatetruecolor(23040,18688); 

謝謝!

+0

它試圖分配92160個*更*字節比以前有,它把它超過允許的內存大小(這樣你就均超過1073649664某處字節) –

+0

因爲您已經使用了'1073741824'並試圖分配額外的'92160',它將其放在'memory_limit' – RiggsFolly

+0

請注意,您至少需要23040 x 18688 x 4個字節(1,722,286,080字節或1,681,920k或1,682M)的內存僅用於圖像,加上腳本和其他變量所需的任何內存....這比您配置的1024M最大值還多 –

回答

0

嘗試使用ini_set('memory_limit', '-1'); 這將刪除內存限制在當前腳本

+0

我試過了。它說我耗盡了內存。 –

+0

雖然正確 - 這確實刪除了內存列表 - 它不回答有關在PHP中創建23040x18688圖像所需的問題。 –