2017-04-18 85 views
-1

我在我的本地机器上的Apache/PHP服务器上上传了一个大于500MB的文件。 我试过用php.ini配置,.htaccess,ecc。 但我无法解决问题。上传900MB(或更大)的文件:PHP,Apache,本地网络

在我的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/30年6月5日

谢谢!

------更新:这里有更详细的错误:

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")) 
+0

所以一个499 MB大小的作品,但> 500 MB没有?您是否测试了解更小的文件是否已上传? –

+0

您应该提供详细的错误消息。还有你检查了这个:http://stackoverflow.com/a/18414806/25429 – zloster

+0

谢谢@ zloster,我已经尝试过与其他解决方案,如.htaccess,但错误总是相同'警告:POST内容长度的633016961字节超过了在线0'未知的524288000字节的限制。 php.ini已设置,.htaccess也设置正确,phpInfo返回我设置的值,但我仍然收到错误。 –

回答

0

解决方案!

php.ini配置正确。该文件太大而无法通过单个POST进行处理。所以我尝试了一个处理分块文件上传的插件。

有了这个apporach(和这个插件),问题就完全解决了!

https://github.com/blueimp/jQuery-File-Upload

感谢大家的支持。

+0

你在说什么'上传配置'? –

+0

[编辑]对不起,通过“上传配置”我的意思是我是如何上传文件。具有> 500MB文件的单个POST触发该错误。随着分裂/分块文件上传我没有更多的问题。 –

0

设置变量upload_max_filesize, post_max_size, memory_limit in php.ini以正确的价值观和重新启动服务器,那么它应该工作。

您可能编辑了错误的php.ini文件!请与phpinfo()核对,看看您是否实际编辑了正确的.ini文件。

+0

嗨,我已经检查了phpInfo,并且.ini文件是正确的。在我的phpInfo页面(xampp)中,变量是正确的。但仍然无法上传大文件。我会尝试打印错误并将其粘贴到此处。谢谢 –

+0

你重新启动了你的服务器吗? –

+0

警告:POST内容 - 633016961字节的长度超过了第0行未知的524288000字节的限制。 –