2017-06-13 33 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图像所需的问题。 –