Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP页面在POST数组值中仅看到71项_Php_Ajax - Fatal编程技术网

PHP页面在POST数组值中仅看到71项

PHP页面在POST数组值中仅看到71项,php,ajax,Php,Ajax,我有一个很有趣的问题。正如您在下面的代码中所看到的,我向我的PHP页面发送了2个POST变量。其中一个变量是JSON数组。如果unsyncedContacts.length小于71,则其工作正常。一旦数组中有超过71项,PHP页面将只识别前71项。我在chrome上观看了这一事件的时间轴,数据不足1 MB 任何建议或帮助将不胜感激,因为我不知所措。没有抛出错误,并且在页面之间发送的71条记录被正确执行 JS PHP-upsert_contacts.PHP 我尝试过使用xdebugger单步遍历P

我有一个很有趣的问题。正如您在下面的代码中所看到的,我向我的PHP页面发送了2个POST变量。其中一个变量是JSON数组。如果
unsyncedContacts.length
小于71,则其工作正常。一旦数组中有超过71项,PHP页面将只识别前71项。我在chrome上观看了这一事件的时间轴,数据不足1 MB

任何建议或帮助将不胜感激,因为我不知所措。没有抛出错误,并且在页面之间发送的71条记录被正确执行

JS PHP-upsert_contacts.PHP 我尝试过使用xdebugger单步遍历PHP,$aCount最多返回71。正如我之前所说的,如果它是50件$contacts,那么它将非常有效。一旦它达到72,它就会变得奇怪

编辑:有人在评论中询问,但删除了它:“您服务器的最大输入变量设置为什么?”


max\u input\u vars 1000

结果是
max\u input\u vars

我在我的开发环境中启用了xdebug,由于某种原因,它没有显示PHP警告,指出我已超过1000(我传递的数组是一个具有14个属性的JSON对象)


14*71=994,意味着下一个数组项将超过我设置的1000个限制。为了解决这个问题,我用
php\u value max\u input\u vars 20000创建了一个.htaccess文件,以确保我的代码不会再次中断

结果是
max\u input\u vars

我在我的开发环境中启用了xdebug,由于某种原因,它没有显示PHP警告,指出我已超过1000(我传递的数组是一个具有14个属性的JSON对象)


14*71=994,意味着下一个数组项将超过我设置的1000个限制。为了解决这个问题,我用
php\u value max\u input\u vars 20000创建了一个.htaccess文件,以确保我的代码不会再次中断

您的第71/72位联系人的数据有什么奇怪的地方吗?没有。这是我检查的第一件事。比方说,我想通过142。在前71个月,它将执行良好。然后我刷新并再试一次,接下来的71次就可以了。你检查过javascript方面了吗?“unsyncedContacts”数组是否包含所有项?是的,javascript端工作正常。它总是有所有的数组项你的第71/72联系人的数据有什么奇怪的吗?没有。这是我检查的第一件事。比方说,我想通过142。在前71个月,它将执行良好。然后我刷新并再试一次,接下来的71次就可以了。你检查过javascript方面了吗?“unsyncedContacts”数组是否包含所有项?是的,javascript端工作正常。它始终包含所有阵列项,直到阵列中的元素超过1428个。;)英雄联盟这是当时的管理问题。有没有一种方法可以一起删除限制?我没有检查,但我假设(希望如此!)您不能(除了编辑源代码)。您无法控制VAR,因为它们来自客户,所以限制它们是一个好主意。如果您需要提交任意数量的值,请通过JavaScript在可管理的小数据块中提交,直到数组中的元素超过1428个为止。;)英雄联盟这是当时的管理问题。有没有一种方法可以一起删除限制?我没有检查,但我假设(希望如此!)您不能(除了编辑源代码)。您无法控制VAR,因为它们来自客户,所以限制它们是一个好主意。如果您需要提交任意数量的值,请通过JavaScript在可管理的小块中提交。
$.ajax({
  url: 'ajax/upsert_contacts.php',
  type: 'POST',
  dataType: 'json',
  data: {
    "contacts": unsyncedContacts,//JSON array
    "userInfo": localStorage.userInfo
  }
})
.done(function(data) {
 //do stuff here. i don't think its part of my issue
});
set_time_limit(0);//set the time limit for each contact to prevent breaking.

//POST DATA
$currentUsersName = json_decode($_POST['userInfo']['usersName']);
$contacts         = $_POST['contacts'];
$aCount           = count($contacts);//returns 71 at MOST