首页  >  文章  >  后端开发  >  对于php.ini中常会触及到的"限制"总结

对于php.ini中常会触及到的"限制"总结

WBOY
WBOY原创
2016-08-08 09:29:531283浏览

max_execution_time
php最大执行时间,php.ini中默认数值为30,即在页面执行30s后,服务器会直接强制终止页面的执行。

对于一般的页面,30s足够了,但对于有些需要直接利用php执行进行大量数据分析的页面,你就需要根据页面执行的效率,调整max_execution_time的值,当然尽可能改善你的算法,获得最佳页面执行效率。
max_input_vars
php最大提交表单(控件)数,php.ini中默认值为1000,即一个form表单post数据中所含控件数(input)不能超过1000个。

1000个input还不够用?人填得过来么?可能你会有这样的疑问,但在实际的编程过程中我的确遇到了这样的问题:上传一份excel表格文档,利用PHPExcel类库进行解析后输出到一个页面给用户进行确认,确认完按“提交数据”插入到数据库中,每一单元数据存放于form-input(hidden)中,input数量在200(行)*8(列)=1600,超过默认数量,结果每次插入数据库的都是前125条数据。

刚遇到这个问题时,我就在页面上直接输出了$_POST的值,发现仅有125条记录,可以确定就是post传输出现的问题。在网上查到为数不多的类似问题信息,基本聚焦于php对post大小限制,但在php.ini中我发现post_max_size默认值为32M,post一份表单的数据量无论如何也不会超过32M,觉得问题应该不会是post的大小限制。我之后觉察到可能是对于控件的限制,终于找到了max_input_vars是对post控件的限制。然而在我本机装配的wamp的php.ini中还找不到max_input_vars的相关信息,只能自行添加。

<code><span>; Maximum input variable nesting level</span><span>; http://php.net/max-input-nesting-level</span><span>;max_input_nesting_level = 64</span><span>max_input_vars = <span><span>5000</span>;   //默认<span>1000</span></span></span><span>; Maximum amount of memory a script may consume (128MB)</span><span>; http://php.net/memory-limit</span><span>memory_limit = <span><span>128</span>M</span></span></code>


upload_max_filesize与post_max_size
一个是对于上传文件最大的限制,一个是对于post最大的限制。

需要利用php post上传大文件时记得都要更改(最大文件值 max_input_time
此变量是以秒为单位对通过post、get方式接收数据时间进行限制,默认值为60,即60s。

如果应用程序所运行环境处在低速链路上,则可以增加此值以适应接收数据所需的更多时间。

以上就介绍了对于php.ini中常会触及到的"限制"总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn