对于php.ini中常会触及到的"限制"总结
2015-02-06 15:26
183 查看
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的相关信息,只能自行添加。
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最大执行时间,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的相关信息,只能自行添加。
; Maximum input variable nesting level ; http://php.net/max-input-nesting-level ;max_input_nesting_level = 64 max_input_vars = 5000; //默认1000 ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_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 session 跨子域问题总结 ini_set('session.cookie_domain', ".domain.com")
- 修改php.ini实现Mysql导入数据库文件最大限制的修改方法
- 手工破解"注册表已经被管理员禁用"限制
- (转帖)总结C++中三种关于"new"的使用方法
- 由于WEB服务器上的"ISAP"和"CGI"限制列表设置,无法提供您请求的页面——错误解决
- php环境变化引起的"syntax error unexpected $end"
- 关于Javascript与表单结合时出现"对象不支持此属性或方法"的问题总结(不断更新中...)
- php从头开始——' '和" "的区别
- PHP ORACLE 之 "团队合作"[工作中小结]
- php.ini"short_open_tag"的值
- 正则表达式中对于"不匹配"特定pattern的实现
- 基于HTTP长连接的"服务器推"技术的php 简易聊天室
- "ORA-01460: 转换请求无法实现或不合理"及C#操作Blob总结
- php.ini 里的 upload_tmp_dir ="C:\WINDOWS\Temp\" 无效
- 修改php.ini实现Mysql导入数据库文件最大限制的修改方法
- 企业IT技术支持(俗称 HELPDESK)对于微软正版认证的"解决方案"
- 将Excel导入MSSQL2000时出现"对于所指定的缓冲区来讲太大"错误的解决方法
- php 文件上传 错误信息 总结 $_FILES['Filedata']["error"] 值枚举
- Php中"{}"大括号的用法总结
- 关于PHP"=="运算符