6

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

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

在此处输入图像描述 在此处输入图像描述

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

更新:

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

在此处输入图像描述

在此处输入图像描述

更新:

我尝试按照链接中所说的内容进行操作,但没有成功。我对链接有很多疑问,例如:

  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的 from并/etc/php/7.0/apache2/php.ini重新启动了/etc/php.iniapache。仍然没有变化。我在做正确的事吗?

更新:

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

是的,您获得了访问 EC2 实例的权限。S3 是 Amazon 提供的一项不同服务,它不会自动提供给 EC2 实例。我们可以为您在 S3 中创建一个存储桶,但可能不再需要它。

EC2 实例有大约 8GB 的​​存储空间。您应该能够在 EC2 文件系统中存储多个大于 2MB 的视频并直接访问它们。

使用 S3 进行文件上传是一个好主意,尤其是在您的软件投入生产时。但是,为了简化设置,请改用文件系统来存储视频。

更新 :

运行以下命令:

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()可以通过这个链接访问

4

3 回答 3

3

还要检查:

/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/

于 2018-05-24T07:58:21.393 回答
3

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

sudo systemctl restart php-fpm.service

在重新启动 apache 之前:

sudo systemctl restart httpd

于 2020-01-15T16:03:24.653 回答
1

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

于 2018-05-27T09:22:57.013 回答