Laravel干预无法处理4mb图像

问题描述 投票:0回答:1

我使用laravel干预创建带有水印的图像,但是我发现laravel干预不能处理超过2mb的图像,这是我的代码:

// open an image file
$img = Image::make('msg-1-fc-40.jpg')->encode('jpg', 75);

$img->fit(250, 250, function ($constraint) {
  $constraint->aspectRatio();
});

// finally we save the image as a new file
$img->save('test.jpg');

如何处理超过2mb的图像?

laravel filesize intervention
1个回答
0
投票

图像操作往往会消耗大量内存,因为图像处理库通常会将所有像素“解包”到内存中。

因此,一个3MB的JPEG文件可以轻松地增加到60MB的内存,那时候您可能已经达到了为PHP分配的内存限制。

据我所知,XAMP仅为PHP分配128 MB RAM。

检查您的php.ini并增加内存限制,例如:memory_limit = 512MB

然后重新启动服务器。

但这不是一个好方法,最好的方法是在将任何图像保存到服务器之前对其进行压缩和调整大小。

© www.soinside.com 2019 - 2024. All rights reserved.