【发布时间】:2017-09-13 23:41:07
【问题描述】:
我在本地机器上的 Apache/PHP 服务器上上传大于 500MB 的文件时遇到了麻烦。 我尝试过使用 php.ini 配置、.htaccess、ecc。 但我无法解决问题。
在我的 phpInfo 上,变量当前设置如下:
upload_max_filesize 2048M
post_max_size 2048M
memory_limit 1024M
我应该改变什么?我在 win7 上运行 xampp 3.2.2(win10 上同样的问题)。
Apache 版本 Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
谢谢!
-----更新:这里有更详细的错误:
Warning: POST Content-Length of 941609661 bytes exceeds the limit of 524288000 bytes in Unknown on line 0
Notice: Undefined index: page_selector in C:\xampp\htdocs\upload_file.php on line 6
Notice: Undefined index: nome_video in C:\xampp\htdocs\upload_file.php on line 7
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 8
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 31
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 33
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 34
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 35
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 36
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 37
Notice: Undefined index: file in C:\xampp\htdocs\upload_file.php on line 38
报告的行在哪里:
$page = $_POST["page_selector"];
$nome_video = $_POST["nome_video"];
$label = $_FILES["file"]["name"];
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
if ((($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "audio/mp3")
|| ($_FILES["file"]["type"] == "audio/wma")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg"))
【问题讨论】:
-
所以 499 MB 大小有效,但 >500 MB 无效?您是否测试过是否上传了较小的文件?
-
您应该提供详细的错误消息。你也检查过这个:stackoverflow.com/a/18414806/25429
-
感谢@zloster,我尝试过使用其他解决方案,如 .htaccess,但错误始终是相同的“警告:633016961 字节的 POST 内容长度超过未知中 524288000 字节的限制”第 0 行'。 php.ini 已设置,.htaccess 也设置正确,phpInfo 返回我设置的值,但我仍然收到错误。
-
@zloster 谢谢!经过一些不同的方法后,我终于按照您在链接解决方案中的建议尝试了github.com/blueimp/jQuery-File-Upload。有用。谢谢