我获得了一个 Amazon EC2 Ubuntu 实例。我们的任务是创建一个包含上传客户端视频的 Web 应用程序。我在本地主机中创建了一个文件上传应用程序,它工作正常。当我将代码迁移到虚拟主机服务器时,我无法上传任何视频,甚至无法上传任何超过2Mb
. 我尝试将php.ini
设置编辑upload_max_filesize
为50M
并将 post_max_size 编辑为1000M
.
多次重启 Apache 后,更新并未反映在我的phpinfo()
信息中,但更改已保存在我的php.ini
文件中。
我怀疑给我的 Amazon EC2 实例有文件上传限制,但我不确定我是否正确。如果我错了,我该如何覆盖下面的配置?任何帮助将不胜感激。
更新:
我什至确保我正在编辑正确的配置文件。以下是屏幕截图:
更新:
我尝试按照链接中所说的内容进行操作,但没有成功。我对链接有很多疑问,例如:
- 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.ini
apache。仍然没有变化。我在做正确的事吗?
更新:
我向给我 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()
可以通过这个链接访问