【问题标题】:Php upload issue with CentosCentos 的 PHP 上传问题
【发布时间】:2019-11-07 09:36:51
【问题描述】:

我上传的文件多于30MB 到2GB,但我无法上传它。如果我上传的文件少于30MB,它工作正常但是当我尝试上传的文件多于30MB它不工作。也没有任何错误。

这里是php.ini文件设置

post_max_size  = 2G
max_execution_time = 3600 
upload_max_filesize = 3600

memory_limit = 1024M

我们使用Centos作为操作系统的AWS服务器,我们使用codeigniter。

任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services codeigniter file-upload centos


    【解决方案1】:

    如果上传大文件,建议直接上传到S3。您可以通过 EC2 中的generating S3 pre-signed URL 来执行此操作,然后让客户端通过该 URL 上传。它会更快,消耗更少的 EC2 带宽和更便宜的存储成本。


    对于 PHP 配置:

    php 文档:https://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize

    post_max_size:

    一般来说memory_limit应该大于post_max_size。

    upload_max_filesize:

    上传文件的最大大小。 使用整数时,该值以字节为单位。

    (如果upload_max_filesize是3600字节,不知道为什么你可以上传30MB的文件)

    memory_limit

    这设置脚本允许分配的最大内存量(以字节为单位)。

    您可以尝试以下方法:

    post_max_size  = 2G
    max_execution_time = 3600 
    upload_max_filesize = 2G
    
    memory_limit = 2560M
    

    【讨论】:

    • 它不起作用,我们正在使用 t2 small aws 实例。当我打印$_POST 时,它也没有得到那个文件。给出502 错误。我们没有在 php 文件变量中获取该文件。
    • @raju_eww 你能验证phpinfo页面中的php设置吗?
    • 从 phpinfo 页面,您的 post_max_size 和 upload_max_filesize 是 512M
    猜你喜欢
    • 2019-03-05
    • 2010-10-30
    • 1970-01-01
    • 2012-04-23
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多