【发布时间】:2017-11-15 13:02:25
【问题描述】:
我需要创建一个 23040 x 18688 像素的图像。当我编写一个简短的脚本时,我收到以下错误:
致命错误:第 4 行 C:\xampp\htdocs\new\bvg\index.php 中允许的内存大小为 1073741824 字节已用尽(尝试分配 92160 字节)
为什么当 92160 字节远低于我分配给它的 1GB 时它会引发错误?这是我的代码:
ini_set('max_execution_time', 3000);
ini_set('memory_limit','1024M');
$newImage = imagecreatetruecolor(23040,18688);
谢谢!
【问题讨论】:
-
它尝试分配比以前多 92160 个 个字节,这使它超过了允许的内存大小(所以你事先超过了 1073649664 个字节)
-
因为您已经使用了
1073741824并试图分配一个额外的92160将它放在memory_limit之上 -
请注意,您需要至少 23040 x 18688 x 4 字节(1,722,286,080 字节,或 1,681,920k 或 1,682M)的内存仅用于图像,加上脚本和任何其他所需的内存您使用的变量......这超过了您配置的最大 1024M
-
imagecreatetruecolorPHP 页面上有一些用户贡献的注释可以帮助您设置内存限制 - 例如this one。 -
我试过
ini_set('memory_limit', '-1');并没有帮助。
标签: php