解决Chevereto图床上传大图片提示Internal Server error

不知道从什么时候开始,我的图床上传图片就一部分上传的时候提示:Server error(internal server error),特别是上传大文件的图片以及很多图片的时候,这个错误就简直了,因为他提示错误之后,有的图片会继续上传,有的不会,然后你就不知道你到底上传了什么图片,没上传什么图片。。。

4月27日更新。

如图

上传多文件时。。。

上传大图片时。。。

这就很尴尬。。。而且我一直以为是FTP服务器的问题。也没意识到是本身服务器配置的问题。

直到某一天才突然意识到可能是自己服务器的配置问题。

于是我去nginx.conf把一些参数改了一下,没有一点luan用。

client_max_body_size 100m;

client_body_temp_path /tmp;

然后我就去看看php.ini有什么不妥,感觉没什么不妥啊,该设置的数值都挺大的,一般是够的。

但是我还是改了,毕竟16h24g的机器不能浪费。

然后我试着去php.ini把这些值改大了一点

max_execution_time
max_input_time
memory_limit
post_max_size
upload_max_filesize

于是重启了一下PHP,大概效果就是下图。

当然,php脚本执行上传时间也受控制,所以适当加长request_terminate时间。

嗯,终于好了,困扰几百年的问题突然就解决了,突然兴奋!~金馆长SVIP

 

13 条评论

Rodolfo进行回复 取消回复

*

  • 博主,我也用这个软件,我最高上传是32MB,上传长截图,大概很长的那种,才5M不到,然后也提示Server error,你知道怎么回事吗?

    • 如果是本地存储的话,那一般就是 PHP,NGINX 或者别的本地配置有问题,如果是存在别的服务器上或者别的服务上的话,那就可能是本地的上传带宽太低了,本地上传到别的服务器上太久就会被认定为超时了。

  • 然后每次重启PHP服务,刷新页面的话,页面头部会提示

    Deprecated: Unparenthesized `a ?: b ? c : d` is deprecated. Use either `(a ?: b) ? c : d` or `a ?: (b ? c : d)` in /www/wwwroot/image.cltserver.xyz/app/loader.php on line 481

    Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? in /www/wwwroot/image.cltserver.xyz/lib/G/functions.php on line 254

    Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? in /www/wwwroot/image.cltserver.xyz/lib/G/classes/class.minify.php on line 420

  • 奇怪,博主你好,我这边设置调大了依然还是一样,多图上传不管容量,都随机出现大概率图片上传失败的提示……Server error(internal server error)

    • 那是因为你服务器上传太低了,如果用本地存储,就不会出行这种情况。

      • 🙂 博主,你好,我使用的是本地储存策略,后来改用LSkypor没出现过问题,但使用chevereto问题依然出现,本地的储存router没记错是1600MBPS+的,理论应该足够,线材用的也是3M公司出品的CAT 7,对外网络则是2000MBPS的两条独立1000MBPS线路,所以猜测应该不是上下载带宽阻塞问题,但还是没找到问题根源。

        不过使用其它的工具能一样达成目的,也足够了。

        • 如果买了 LICENSE 的话,可以去 Chevereto 的论坛求助,这个有时候是会出一些莫名的问题的。

  • 出现了相同的问题,找了半天居然在你这搜到了答案,改了下 max_execution_time 和 memory_limit 终于解决了,不知道小机子调太大会不会出现问题_(:з」∠)_

    • 😀 你看下面的评论,chevereto的作者评论的,他说可能会出问题,所以尽量不要跟我一样大= =

  • You can always ask for Tech support at Chevereto and if you want to do it on your own, check this: https://chevereto.com/docs/debug (it explains how to debug Chevereto).

    Basically, debug will tell you the error and from there you can tweak stuff at your end.

    By the way, your post_size is too big and there could be other problems due to that.

    Cheers,
    Rodolfo (Chevereto author).