ZBLOG

php上传小于20M文件时可以正常上传,大于20M则提示502 Bad Gateway nginx (code:0)

当 PHP 上传大于 20MB 的文件时,出现 502 Bad Gateway 错误,通常与 NGINX 或 PHP-FPM 的配置有关。这里有几个可能的原因和解决方案:

1. 检查 NGINX 配置

在 NGINX 配置中,默认情况下允许的最大请求体大小是 1MB。你需要增加这个限制。

打开你的 NGINX 配置文件(例如 /etc/nginx/nginx.conf 或某个特定站点的配置文件),并添加或修改以下行:

http {
    ...
    client_max_body_size 100M; # 根据需要设置更大的值
}

确保将 100M 替换为你希望允许的最大上传文件大小。

2. 检查 PHP 配置

PHP 对上传文件大小也有限制。在你的 php.ini 文件中,需要检查和设置以下两个参数:

upload_max_filesize = 100M   ; 设置允许上传的最大文件大小
post_max_size = 100M          ; 设置 POST 数据的最大尺寸,应该大于或等于 upload_max_filesize

同样地,根据需要调整这些值。

3. 重启服务

修改完以上配置后,需要重启 NGINX 和 PHP-FPM 服务使其生效:

# 重启 NGINX
sudo systemctl restart nginx

# 重启 PHP-FPM (具体命令取决于使用的版本)
sudo systemctl restart php7.x-fpm   # 请根据实际版本替换 '7.x'

4. 检查错误日志

如果仍然遇到问题,可以查看 NGINX 和 PHP-FPM 的错误日志以获得更多详细信息,这些信息可以帮助诊断问题所在。

  • NGINX 错误日志:通常在 /var/log/nginx/error.log
  • PHP-FPM 错误日志:通常在 /var/log/php7.x-fpm.log (请根据实际版本替换 ‘7.x’)

总结

通过适当增加 client_max_body_size 和相应调整 PHP 的上传相关配置,你应该能够解决这个问题。如果还有其他疑问,请提供更多上下文信息,我会进一步协助你!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20279

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?