如何更改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-上传