如何在 php.ini 中更改 php 配置,在 laravel vapor 中更改post_max_size?我面临错误 413 请求实体太大



如何更改php配置&laravel蒸汽中的post_max_size设置?

我在AWS S3上传图片时遇到错误413请求实体过大。

应用程序正在使用Angular作为前端&Laravel用于后端API。

我可以在AWS-S3上上传200-250KB的图像,但无法上传1MB的文件。此外,后端API端没有验证错误。

因为它是无服务器的。所以,我找不到php.ini的设置和相关设置。

您可以使用Docker运行时覆盖php变量

Docker运行时基于Docker的运行时允许您打包和部署大小高达10GB的应用程序,并允许您安装其他通过更新环境的对应的.Dockerfile.对于每一个新的基于Docker的环境,Vapor添加了一个.Dockerfile文件,该文件使用Vapor的一个基本映像作为一个建立你的形象的起点。Vapor的所有Docker图像基于Alpine Linux:

https://docs.vapor.build/1.0/projects/environments.html#runtime

# Update the `php.ini` file...
# Requires a `php.ini` file at the root of your project...
COPY ./php.ini /usr/local/etc/php/conf.d/overrides.ini

Vapor的请求实体过大错误通常意味着Lambda无法处理这种大小的上传。我预计上限会比您报告的1MB高一点,但通常情况下,无论大小,我都会直接从前端将图像/文件上传到S3,以避免出现这种情况。

Vapor团队提供了一个前端软件包,可以帮助实现这一点,该软件包可以与npm i -D laravel-vapor一起安装。

有关套餐的更多信息,请点击此处:https://docs.vapor.build/1.0/resources/storage.html#installing-蒸汽npm包装

关于文件上传到Laravel Vapor的更多信息,请点击此处:

由于AWS Lambda的限制,直接上传到应用程序后端的文件大小只能达到大约4.5MB。这是AWS强加的硬限制,更新php.ini配置文件或任何其他配置都不会提高此限制。因此,为了确保应用程序的用户不会收到HTTP 413 Payload Too Large响应,您可以在启动文件上传到应用程序后端之前使用JavaScript验证文件上传大小。

如果您的应用程序需要接收大于AWS允许的文件上传,则这些文件必须从应用程序的前端(浏览器(直接流式传输到S3。为了帮助您,我们编写了一个NPM包,可以轻松地直接从应用程序的前端执行文件上传。

https://docs.vapor.build/1.0/resources/storage.html#file-上传

相关内容

  • 没有找到相关文章

最新更新