相关疑难解决方法(0)

使用ini_set设置max_input_vars PHP.ini指令

我可以在我的代码中设置max_input_vars PHP.ini指令吗?我将它设置为默认值1000,但是我有一个脚本,其中包含许多复选框和文本字段,可能并且很可能会超过1000限制.

我正在使用PHP 5.3.10,我没有收到任何错误.此外,我找不到任何说明我不能这样做的文件.

ini_set('max_input_vars', 3000);
Run Code Online (Sandbox Code Playgroud)

谢谢.

php php-ini

23
推荐指数
2
解决办法
4万
查看次数

警告:输入变量超过1000

我正在构建一个像PHP一样的RESTS服务,它应该接受一个大的JSON帖子作为主要数据(我发送和读取的数据很像这里讨论的那样:http://forums.laravel.io/viewtopic.php?id = 900 )

问题是PHP给了我以下警告:

<b>Warning</b>:  Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in <b>Unknown</b> on line <b>0</b><br />
Run Code Online (Sandbox Code Playgroud)

有没有办法让PHP不计算输入变量(或者我应该只是压制启动警告)?

php json

13
推荐指数
6
解决办法
6万
查看次数

警告:此页面上的表单包含超过1000个字段的PHP MySql

我有一份调查问卷在周末上线.达到这么多条目后,PhpMyAdmin开始显示此警告:

警告:此页面上的表单包含1000多个字段.提交时,由于PHP的max_input_vars配置,某些字段可能会被忽略.

该表被调用survey,它有10列和300行数据 - 大多数strings.我不知道从哪里得到数字1000字段?一切都很好,直到survey桌子上有大约150个条目.我担心我会丢失数据.

我的问卷由20页组成,所有页面都有多项选择题.所有值都存储在$_SESSION数组中,然后发送到第21页的数据库.

phpMyAdmin的

php mysql

10
推荐指数
2
解决办法
2万
查看次数

在5.3.9之前的版本中是否有像max_input_vars这样的限制?

似乎旧的PHP版本存在问题,并且在一个表单中有超过1000个输入字段(请参阅此问题).

如果我使用较旧的PHP版本运行Web服务器,那么(一个嵌套级别)中的表单元素的最大数量是否有限制,就像PHP 5.3.9之后的php.ini 指令max_input_vars一样

或旧版本没有限制

如果我在php.ini或.htaccess中的旧版本中设置此变量会发生什么?

我注意到,在我的服务器上运行PHP 5.3.3-7 + squeeze17,它也已经有了指令max_input_vars.

旧版本的表现究竟如何?

php configuration

6
推荐指数
1
解决办法
6568
查看次数

在 Homestead 中配置 php.ini

我试图通过指定来更改我的 php.ini 文件中的变量max_input_vars

; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2500
Run Code Online (Sandbox Code Playgroud)

和跑步

sudo nginx -s reload
Run Code Online (Sandbox Code Playgroud)

尽管我在本地机器 (C:\xampp\php\php.ini) 和 Homestead (/etc/php5/fpm/php.ini) 上将此变量设置为 2500,但我仍然收到以下错误消息

  parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini
Run Code Online (Sandbox Code Playgroud)

我知道 .htaccess 在每个站点的基础上覆盖 php.ini,是否还有其他文件覆盖 php.ini?更改php.ini文件后是否还有其他服务需要重新加载?

php laravel homestead

4
推荐指数
1
解决办法
8393
查看次数

当表单包含大量输入时,表单数据被截断/丢失了吗?

背景信息
我正在使用在Nginx上运行的CodeIgniter 2.1.4和PHP 5.3。我有一个HTML表单,表示本质上是同类数据的行。每个“行”都有几个<input />字段,每个字段具有相同的名称。这是一个简化的示例:

<input type="text" name="firstname[]" />
<input type="text" name="lastname[]" />
Run Code Online (Sandbox Code Playgroud)

因此,我有很多firstname[]输入,lastname[]输入等。提交表单后(操作是POST),我在像这样的控制器方法中检索数据(请注意,我正在使用CodeIgniter):

$firstnames = $this->input->post('firstnames');
$lastnames = $this->input->post('lastnames');
Run Code Online (Sandbox Code Playgroud)

这些变量是包含表单中相应行中的值的数组,从这里我对这些数据进行一些处理。

问题
当表单中的行数很大(几百)时,生成的PHP数组的大小与表单中的输入数不匹配 -例如,表单可能有200个firstname输入,但$firstname仅数组有167。此外,$lastname变量的大小也不同-166。

当表单中的元素数量较少时,一切正常。

我的理论是,我超出了堆栈中某处的某种最大大小设置或缓冲区,导致表单数据被截断。是否存在我不知道的“最大表单大小”的PHP或CodeIgniter或nginx设置?

对于它的价值,当同时使用两者application/x-www-form-urlencodedmultipart/form-data作为表单的内容类型时,我都看到了相同的行为。

我想念什么?

html php forms codeigniter nginx

3
推荐指数
1
解决办法
2875
查看次数

标签 统计

php ×6

codeigniter ×1

configuration ×1

forms ×1

homestead ×1

html ×1

json ×1

laravel ×1

mysql ×1

nginx ×1

php-ini ×1