【问题标题】:"Maximum upload size" does not correspond to php.ini settings“最大上传大小”与 php.ini 设置不对应
【发布时间】:2013-07-05 19:16:42
【问题描述】:

我在 ubuntu 上使用 Lampp,我想更改最大上传大小。

opt/lampp/etc 中的 php.ini 有这些设置:

post_max_size = 5M
upload_max_filesize = 8M

但是当我尝试上传 2.1 mo 文件时,我收到以下错误消息:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 7448 bytes)

有什么想法吗?

【问题讨论】:

  • 你重启apache了吗?
  • 通过执行
  • 我确实重启了我的电脑
  • @iTom 这是正确的 php.ini,我也没有在 phpinfo.php 中找到任何 max_filesize 设置

标签: php lampp max-size


【解决方案1】:

不是因为 post_max_size 或 upload_max_filesize,而是因为内存限制
试试这个

ini_set("memory_limit","256M");

134217728 字节 = 128MB

或来自 php.ini

memory_limit = 256M  

但一般来说,当你得到这个错误时,它仅仅意味着你的代码还没有效率。因为您正在耗尽分配的内存来运行这一个 PHP 页面。你知道,它已经是 128 MB。
如果只是单纯的增加内存限制,可以同时打开的PHP并发进程会大大减少。
试想一下海量的多用户环境,当这个PHP页面被多个用户同时打开时,服务器能不能用服务器的物理内存来处理?

简单地说,您可以在这里分享您的代码,以便我们都可以帮助您提高效率吗?

【讨论】:

    【解决方案2】:

    您是否重新启动了 Apache

    你试过PHP方法吗?

    你试过htaccess方法吗?

    PHP 方法

    ini_set('upload_max_size', '64M');
    ini_set('post_max_size', '64M');
    

    Htaccess 方法

    尝试将其放入您的 .htaccess 文件中

    php_value upload_max_filesize 64M
    php_value post_max_size 64M
    

    【讨论】:

      【解决方案3】:

      此错误与最大上传文件大小无关,它与 PHP 解释器试图分配比 memory_limit 标志允许的更多的内存有关。

      增加它在 PHP.INI 中的值,重启你的服务器,检查新值是否与phpinfo() 一起使用,看看你的脚本是否有效。

      【讨论】:

        【解决方案4】:

        您遇到的错误与文件上传大小无关。 PHP 在执行脚本期间内存不足 (RAM)。

        您需要根据 PHP ini 设置增加内存限制:http://www.php.net/manual/en/ini.core.php#ini.memory-limit

        【讨论】:

          猜你喜欢
          • 2018-06-07
          • 1970-01-01
          • 1970-01-01
          • 2017-03-12
          • 2013-10-09
          • 2013-01-01
          • 2016-09-29
          • 2019-12-05
          • 1970-01-01
          相关资源
          最近更新 更多