【问题标题】:Change file upload size in linux server在linux服务器中更改文件上传大小
【发布时间】:2011-03-09 23:14:00
【问题描述】:

我必须上传一个 34MB 的 pdf 文件。我的网站在 Linux 中使用 php。但我的网站只支持 8MB。 (我从 phpinfo 知道这一点)。我如何增加尺寸?听说可以在php.ini中改一下。访问。但是我从哪里得到 php.ini?我如何更改大小?有没有人给我一个解决方案?

【问题讨论】:

    标签: php .htaccess


    【解决方案1】:

    您可以在 .htaccess 中执行此操作:

    php_value memory_limit 64M
    php_value upload_max_filesize 32M
    php_value post_max_size 32M
    php_value max_execution_time 600
    php_value max_input_time 600
    

    或 php.ini(见上面的变量)

    【讨论】:

    【解决方案2】:

    有多种设置会影响最大文件上传大小:

    PHP_INI_PERDIR:以下设置可以在php.ini、.htaccess或httpd.conf中设置:

    upload_max_filesize
    上传文件的最大大小。

    post_max_size
    设置允许的发布数据的最大大小。要上传大文件,该值必须大于upload_max_filesize。如果您的配置脚本启用了内存限制,memory_limit 也会影响文件上传。

    max_input_time
    这设置了允许脚本解析输入数据(如 POST、GET 和文件上传)的最长时间(以秒为单位)。

    PHP_INI_ALL: 可以在 php.ini、.htaccess、httpd.conf 或 ini_set() 中设置以下设置:

    max_execution_time
    这设置了脚本在被解析器终止之前允许运行的最长时间(以秒为单位)。如果此限制过低,您的脚本将在大文件有时间上传之前终止。

    memory_limit
    这设置了允许脚本分配的最大内存量(以字节为单位)。如果您的配置脚本启用了内存限制,那么 memory_limit 也会影响文件上传。一般来说memory_limit应该大于post_max_size

    POST上传方式
    通过 POST 方法上传文件时,您还需要在 HTML 表单中设置MAX_FILE_SIZE。有关详细信息,请参阅此内容:

    http://www.php.net/manual/en/features.file-upload.post-method.php

    共享主机
    如果您使用的是共享主机,您不太可能能够访问系统 php.ini 文件。但是,您可以在 .htaccess 或每个目录的 php.ini 文件中设置值。一些共享主机提供商可能会阻止您这样做,因此您需要检查是否是这种情况。

    .htaccess
    这是一个示例 .htaccess 文件:

    <IfModule mod_php5.c>
      php_value upload_max_filesize 70M
      php_value post_max_size 80M
      php_value memory_limit 90M
      php_value max_execution_time 240
      php_value max_input_time 240
    </IfModule>
    

    每个目录的 php.ini
    上述设置也可以在每个目录的 php.ini 文件中更改。同样,执行此操作的能力可能会受到您的托管服务提供商的限制。有关这方面的更多信息,请参见此处:

    http://www.askapache.com/php/custom-phpini-tips-and-tricks.html

    多变:
    有关 PHP_INI_* 模式的说明,其中显示了可以设置配置指令的位置,请参见此处:
    http://php.net/manual/en/configuration.changes.modes.php

    【讨论】:

    • memory_limit 不影响文件上传的最大大小。
    • @Gumbo:它会影响post_max_size。请在此处查看这些文档:php.net/manual/en/ini.core.php#ini.post-max-size 我已更新答案以使其更清晰。
    • 在网络服务器级别也可能设置了限制。
    猜你喜欢
    • 2020-06-28
    • 2020-07-07
    • 2017-04-11
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多