Amazon EC2 Ubuntu 实例最大文件上传大小

Amazon EC2 Ubuntu Instance Maximum File Upload Size

我获得了一个 Amazon EC2 Ubuntu 实例。我们的任务是创建一个包含上传客户端视频的 Web 应用程序。我在我的本地主机上创建了一个文件上传应用程序,它工作正常。当我将代码迁移到虚拟主机服务器时,我无法上传任何视频,甚至无法上传任何超过 2Mb 的文件。我尝试将 php.ini 设置 upload_max_filesize 编辑为 50M 并将 post_max_size 编辑为 1000M

重启 Apache 多次后,更新没有反映在我的 phpinfo() 信息中,但更改已保存在我的 php.ini 文件中。

我怀疑给我的 Amazon EC2 实例有文件上传限制,但我不确定我是否正确。如果我错了,我该如何覆盖下面的配置?非常感谢任何帮助。

更新:

我什至确定我正在编辑正确的配置文件。以下是屏幕截图:

更新:

我尝试按照 link 中的说明进行操作,但没有成功。我有很多关于 link 的问题,例如:

  1. tomcatchesides 关于 S3 bucket 是什么意思?我在 /var/www/html/.ebextensions 上传了配置文件。我做的对吗?

我的 zzz.ini 包含下面的代码,我把它放在 /etc/php.d/zzz.ini:

[php]
post_max_size = 1000M
upload_max_filesize = 50M

我的 myconfigfile.config 位于 /var/www/html/.ebextensions/myconfigfile.config 并包含以下代码:

files:
  "/etc/php.ini":
    mode: "000644"
    owner: root
    group: root
    source: http://mybucketname.s3.amazonaws.com/php.ini

  "/etc/php.d/zzz.ini":
    mode: "000644"
    owner: root
    group: root
    source: http://mybucketname.s3.amazonaws.com/zzz.ini

如何知道我的实例的存储桶名称?

我还将我的 php.ini/etc/php/7.0/apache2/php.ini 复制到 /etc/php.ini 并重新启动了 apache。仍然没有变化。我做的对吗?

更新:

我向给我 EC2 实例的人询问存储桶名称,她的回答是。

Yes, you were given access to an EC2 instance. S3 is a different service provided by Amazon and that's not automatically available to EC2 instances. We can create a bucket in S3 for you but it may no longer be needed.

The EC2 instance has around 8GB storage space. You should be able to store multiple videos greater than 2MB in the EC2 file system and access them directly.

Using S3 for file uploads is a good idea especially when your software goes to production. However, to simplify the setup, please use the file system instead to store the videos.

更新:

运行 以下命令:

php -i | grep -i max_size

产量:post_max_size => 1000M => 1000M

grep -ir "max_size" /etc/php/7.0/apache2/conf.d/

一无所获。

grep -ir "max_size" /etc/php/7.0/

产量

/etc/php/7.0/fpm/php.ini:post_max_size = 1000M
/etc/php/7.0/apache2/php.ini:post_max_size = 1000M
/etc/php/7.0/cli/php.ini:post_max_size = 1000M

我的 phpinfo() 可以通过这个 link

同时检查:

/etc/php.ini

/etc/php-[version].ini

并修改此文件中的值。如果这还不够,请搜索:

/etc/php.d/aws.ini

事实上,AWS 可能会覆盖您的值。如果是这种情况,解决方案是创建一个名为 /etc/php.d/99uploadsize.ini 的文件,仅包含:

[php]
upload_max_filesize = 100M
post_max_size = 100M

名称 99uploadsize.ini 不是强制性的,但请记住名称应按字母顺序排列在 aws.ini 之后并位于同一目录中,因为这是读取这些 ini 文件的顺序。 即使该示例不是关于 Apache 的通用 Ubuntu,这种解决方案是由亚马逊针对 WP 的类似问题提供的:

https://aws.amazon.com/it/premiumsupport/knowledge-center/wordpress-themes-2mb/

对不起各位,打扰大家了,不好意思。我为此苦苦思索了将近 4 天,结果发现我只是在我的 php.ini 中犯了一个语法错误。我在我的本地主机上用我新安装的 php 更新了我的服务器 php.ini 并且 phpinfo() 在 apache 重启后更新了。

更改 php.ini 文件后,我还必须重新启动 FPM:

sudo systemctl restart php-fpm.service

在重新启动 apache 之前:

sudo systemctl restart httpd