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

时间:2018-05-24 07:13:20

标签: php ubuntu file-upload amazon-ec2 upload-max-filesize

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

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

enter image description here enter image description here

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

更新

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

enter image description here

enter image description here

更新

我试着按照link中的说法,没有运气。我对链接有很多疑问:

  1. tomcatchesides S3 bucket的意义是什么?我在/var/www/html/.ebextensions上传了配置文件。我做对了吗?
  2. 我的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实例的人询问了桶名,她的回复是。

      

    是的,您可以访问EC2实例。 S3是不同的   亚马逊提供的服务,并且不会自动提供   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()可以通过此link

    进行访问

3 个答案:

答案 0 :(得分:2)

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

sudo systemctl restart php-fpm.service

重新启动apache之前:

sudo systemctl restart httpd

答案 1 :(得分:1)

同时检查:

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

答案 2 :(得分:1)

对不起伙计们,打扰你们所有人,我的坏人。我差不多4天就敲打了我的脑袋,结果发现我的php.ini只出现了语法错误。我用我在localhost中新安装的php更新了我的服务器php.ini,并在apache重启后更新了phpinfo()。