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