使用 ini_set 设置 max_input_vars PHP.ini 指令

Posted

技术标签:

【中文标题】使用 ini_set 设置 max_input_vars PHP.ini 指令【英文标题】:setting max_input_vars PHP.ini directive using ini_set 【发布时间】:2012-04-15 22:38:58 【问题描述】:

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

我使用的是 PHP 5.3.10,但我没有收到任何错误。另外,我找不到任何说明我不能这样做的文档。

ini_set('max_input_vars', 3000);

谢谢。

【问题讨论】:

PHP max_input_vars的可能重复 它不起作用然后你可以在你的.htaccess文件中添加以下内容:php_value max_input_vars 5000 【参考方案1】:

max_input_vars 具有PHP_INI_PERDIR 的可更改模式,这意味着它不能使用ini_set 更改(仅在 php.ini、.htaccess 或 httpd.conf 中)

【讨论】:

而且主要原因是在PHP代码开始运行时该指令已经生效。 为将来的读者添加到您的 .htaccess:php_value max_input_vars 3000 @MichaelCalkins 是否可以使 .htaccess 中的 php_value max_input_vars 3000 仅适用于一个 php 文件而不适用于所有文件? @Michael:如果你阅读了上面的内容,你会发现使用 ini_set 是行不通的 它在 .htaccess 中像这样工作:php_value max_input_vars 10000【参考方案2】:

我知道很多人出于某种原因避免访问php.ini。所以另一种方法是在操作文件夹中创建一个.htaccess 文件并添加以下代码并将值设置为更高的值。直接添加即可,无需在.htaccess文件中初始化任何东西

php_value max_input_vars 3000
php_value suhosin.get.max_vars 3000
php_value suhosin.post.max_vars 3000
php_value suhosin.request.max_vars 3000

此解决方案适用于我,无需访问 php.ini 文件。因为当我们想要访问php.ini 文件时,一些网络托管服务提供商给我们带来了困难

【讨论】:

以上是关于使用 ini_set 设置 max_input_vars PHP.ini 指令的主要内容,如果未能解决你的问题,请参考以下文章

ini_set() 作用范围?

是否有任何函数可以设置 extension=php_mssql.dll 而无需在 php.ini 中使用我们使用 ini_set() 之类的函数进行编辑;方法

无法在“localhost”端口 587 连接到邮件服务器,验证 php.ini 中的“SMTP”和“smtp_port”设置或在 wamp 服务器中使用 ini_set()

ini_set()

php设置响应时间 我有一段程序循环要很久 我想在代码中改 最大响应时间 用ini_set 写在哪里

php中ini_set()的目的是什么? (尤其是错误报告)