【问题标题】:PHP Empty $_POSTPHP 空 $_POST
【发布时间】:2011-12-20 09:57:36
【问题描述】:

我通过 HTTP POST 向 PHP 发送数据。这适用于小于 8MB (8192KB) 的数据,但是当发送大量数据时,PHP 显示 $_POST 变量为空。我强调$_POST 变量甚至不包含帖子字段的名称,它作为一个空数组存在。临界点似乎在 8.0MB 和 9.0MB 之间,当然还会继续更高。

我尝试了以下但没有成功:

ini_set('memory_limit', '500M');
ini_set('post_max_size', '220M');
ini_set('upload_max_filesize', '220M');

我要求数据通过 HTTP POST。数据不能作为文件上传。

Apache 也会对此负责吗?

任何帮助将不胜感激。

【问题讨论】:

  • 8MB = 1024KB?真的吗?上次我检查它是 8192KB... 8Mb(兆 bits)是 1024KB(千 bytes),但这与 PHP/Apache 无关...
  • 您是否有权通过 ini_set 修改这些设置?
  • @Michael Sazonov 我可以像ini_set('max_execution_time', 300); 这样通过ini_set 更改最大执行时间。所以我认为是的。
  • @Michael Sazonov 没有 .htaccess。
  • ini_set('post_max_size', '220M');ini_set('upload_max_filesize', '220M'); 在 php 脚本中不起作用,因为它们是在 PHP 获取文件后应用的。您应该在 php.ini 或 .htaccess 或 vhost config 中定义它们

标签: php apache http post http-headers


【解决方案1】:
【解决方案2】:

看看documentation comments。执行脚本时,更改 sopme 设置为时已晚,例如,其中包括 post_max_size。要更改这些值,请尝试使用 .htaccess-file,如下所示:

php_value upload_max_filesize 200M
php_value post_max_size 200M

或直接在您的php.ini 中更改这些设置。

【讨论】:

    【解决方案3】:

    post_max_size 根据documentation 定义为PHP_INI_PERDIR 设置。它可以在您的 php.ini 或 .htaccess 文件中设置。这里给出了PHP_INI_PERDIR 的定义:http://www.php.net/manual/en/configuration.changes.modes.php

    定义为PHP_INI_ALL的设置可以使用ini_set()进行设置。

    【讨论】:

      猜你喜欢
      • 2013-11-08
      • 2011-05-02
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 2016-10-07
      • 1970-01-01
      相关资源
      最近更新 更多