http post参数值字符过长,PHP服务端接收数据为空

最近服务器迁移,出现PHP后端无法获取post表单数据,web服务用的Apache。post表单数据有一个字符串参数很大,请求Content-Length: 63298,把该参数换成一个短的字符串测试没问题,上传数据应该不到100k,php.ini配置post_max_size = 8M

Windows 环境下的修改方法

第一步:修改在php下POST文件大小的限制

1.用编辑器打开php.ini

找到:max_execution_time =30 ,这个是每个脚本运行的最长时间,单位秒,修改为:
max_execution_time = 150

找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改为:
max_input_time = 300

找到:memory_limit = 128M,这个是脚本运行最大消耗的内存,根据你的需求更改数值,这里修改为:
memory_limit = 256M

找到:post_max_size = 8M,表单提交最大数据为8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等…这里修改为:
post_max_size = 20M

找到:upload_max_filesize = 2M ,上载文件的最大许可大小 ,修改为:
upload_max_filesize = 10M

第二步: Apache环境中的档案上传大小控制
修改位于Apahce目录下的httpd.conf
添加下面内容
LimitRequestBody10485760
即10M=10*1024*1024,有的文章中提到应改为 600000000

重新启动apache,就可以在设置里看到你要的大小

Linux 环境下的修改方法

vim /etc/php.ini
找到 File Uploadsh区域修改以下几个参数: file_uploads = on;是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹(moodle可以不改)
upload_max_filesize = 8m ;允许上传文件大小的最大值.
找到 Data Handling区域,修改 post_max_size = 8m;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
设上述四个参数后,上传小于8M的文件一般不成问题。但如果上传大于8M的文件,只还得设置以下参数:
在Resource Limits 区域: max_execution_time = 600;每个PHP页面运行的最大时间值(秒),默认30秒 max_input_time = 600;每个PHP页面接收数据所需的最大时间,默认60秒 memory_limit = 8m;每个PHP页面所吃掉的最大内存,默认8M
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网