使用 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 指令的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何函数可以设置 extension=php_mssql.dll 而无需在 php.ini 中使用我们使用 ini_set() 之类的函数进行编辑;方法
无法在“localhost”端口 587 连接到邮件服务器,验证 php.ini 中的“SMTP”和“smtp_port”设置或在 wamp 服务器中使用 ini_set()