Php 上载大文件导致错误

Php 上载大文件导致错误,php,file-upload,fine-uploader,Php,File Upload,Fine Uploader,这就是我的问题。我使用fineuploader向表单添加拖放支持。我用PHP来做所有的处理。当我在本地WAMP服务器上运行时,一切正常。(包括100MB+文件)当我切换到生产服务器时,错误开始出现 文件在一定程度上仍然可以正常上传。使用50MB的文件进行测试,效果完美。尝试上载100MB文件时,会产生错误 从控制台输出小文件: [Fine Uploader 5.5.0] xhr - server response received for 0 jquery.fine-uploader.js:25

这就是我的问题。我使用fineuploader向表单添加拖放支持。我用PHP来做所有的处理。当我在本地WAMP服务器上运行时,一切正常。(包括100MB+文件)当我切换到生产服务器时,错误开始出现

文件在一定程度上仍然可以正常上传。使用50MB的文件进行测试,效果完美。尝试上载100MB文件时,会产生错误

从控制台输出小文件:

[Fine Uploader 5.5.0] xhr - server response received for 0
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] responseText = {"success":true,"uuid":"2f5b7015-a573-4159-b225-8b2e006aa83b","uploadName":"PTO Request Form.pdf"}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Received response status 200 with body: {"success":true,"uuid":"2f5b7015-a573-4159-b225-8b2e006aa83b","uploadName":"PTO Request Form.pdf"}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Simple upload request succeeded for 0
从大文件输出:

[Fine Uploader 5.5.0] xhr - server response received for 1
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] responseText = {"error":"here: File name empty.","uploadName":null}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Received response status 200 with body: {"error":"File name empty.","uploadName":null}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Simple upload request failed for 1
我尝试通过以下方式增加/删除PHP时间限制:

ini_set('max_execution_time', 0);
ini_set('max_input_time', 0);
ini_set('upload_max_filesize', '500M');
ini_set('post_max_size', '500M');
set_time_limit(0);
但它产生了同样的结果。我曾尝试自己捕获post数据并将其传递到upload函数,但结果仍然相同

如果有人有什么见解,请把它传给我

提前谢谢


编辑:复制本地ini设置代码,不考虑文件大小的增加。

在进一步测试和其他提示后。解决方案是在php.ini中增加post_max_大小和上传_max_文件大小。使用ini_set设置它们不起作用,因为在处理页面之前需要进行设置

我没有直接访问权限,所以我使用htaccess来完成同样的任务

.htaccess

php_value post_max_size 500M
php_value upload_max_filesize 500M

这解决了我的问题。

-检查文档步骤2
post\u max\u size
或者
upload\u max\u filesize
显示处理上传的php代码。编辑:我认为你们是对的。在我进一步研究之后,我的php安装不允许我覆盖大小限制设置。我在当前限制(6000万)下测试了一个文件,它上传的很好。这一定是问题所在。我会让我的服务器管理员明天更改它并报告。如果没有管理员您无法重新启动apache,这可能就是问题所在。这对于旧的浏览器上载很好,但对于现代浏览器,您应该使用。您不能使用ini_集,因为在PHP实际开始执行之前,文件已经被上传/拒绝;这就是为什么您必须在php.ini或htaccessMark中更改这些设置的原因,我昨天一开始没有意识到这一点,这让我经历了几个小时的“该死的时刻”@RayNicholus我接受了你的建议,转而启用分块功能。谢谢你们两位。