当前位置:  开发笔记 > 编程语言 > 正文

Laravel 5.2干预图像500服务器错误

如何解决《Laravel5.2干预图像500服务器错误》经验,为你挑选了3个好方法。

当我上传大图像(4.2 MB)干预图像投掷500错误...

private function resizeImage($path, $imgName){
    $sizes = getimagesize($path.$imgName);
    if($sizes[0] > $sizes[1]){
        ImageManagerStatic::make($path.$imgName)->fit(920,474)->insert(public_path() . "/uploads/applications/watermark.png",'bottom-right', 30, 30)->save($path."1_".$imgName);
    }else{
        ImageManagerStatic::make($path.$imgName)->heighten(474)->insert(public_path() . "/uploads/applications/watermark.png",'bottom-right', 30, 30)->save($path."1_".$imgName);
    }
    ImageManagerStatic::make($path.$imgName)->fit(440,226)->save($path."2_".$imgName);
    File::delete($path.$imgName);
}

它适用于较小的文件.upload_max_filesize=10M.当我评论这个功能时它起作用:/



1> Janaka R Raj..:

我有同样的问题,增加upload_max_filesize是不够的.我还增加memory_limit to 256M并重新启动了服务器.然后图像与干预一起工作.[以上更改在php.ini文件中]

您可能要更改upload_max_filesize,并memory_limit根据文件容量所使用.



2> Amit Gupta..:

今天,在使用Intervention Package精确调整图像大小时,在Laravel 5.5中遇到了相同的问题:

Image::make($image_tmp)->save($image_path);

我无权访问php.ini服务器中的文件,服务器将花费一些时间进行更新,因此临时增加了我控制器文件中函数本身的内存限制,如下所示:

在ImagesController.php文件中:

public function addImage(Request $request){

    // Temporarily increase memory limit to 256MB
    ini_set('memory_limit','256M');

    $extension = Input::file('image')->getClientOriginalExtension();
    $fileName = rand(111,99999).'.'.$extension;
    $image_path = 'images/'.$fileName;
    $image_tmp = Input::file('image');
    Image::make($image_tmp)->resize(1182, 1506)->save($image_path);
}

希望以后能对某人有所帮助!



3> 小智..:

我在Laravel 5.1和Intervention Image库中遇到了同样的问题.在我的情况下,问题来自Image :: make($ file)行而不是上传部分.

我尝试更改以下值:

upload_max_filesize从2M到32M

post_max_size从2M到32M

不要改变我收到的错误.

所以我增加:

memory_limit为256M

它解决了我的问题.我的假设是,即使我的图像大约是6Mo,图像库也需要大量的内存来使用它.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有