时间:2021-07-01 10:21:17 帮助过:6人阅读
对于一般的页面,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的相关信息,只能自行添加。
; Maximum input variable nesting level; http://php.com/max-input-nesting-level;max_input_nesting_level = 64max_input_vars = 5000; //默认1000; Maximum amount of memory a script may consume (128MB); http://php.com/memory-limitmemory_limit = 128M
upload_max_filesize与post_max_size
一个是对于上传文件最大的限制,一个是对于post最大的限制。
需要利用php post上传大文件时记得都要更改(最大文件值 <= upload_max_filesize <= post_max_size),不然文件会上传失败或者仅仅上传文件的一部分(比如:上传一个20M的文件test.zip,upload_max_filesize仅为10M,上传到服务器的很有可能是一个10M的test.zip)
max_input_time
此变量是以秒为单位对通过post、get方式接收数据时间进行限制,默认值为60,即60s。
如果应用程序所运行环境处在低速链路上,则可以增加此值以适应接收数据所需的更多时间。
以上就介绍了对于php.ini中常会触及到的"限制"总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。