2012-06-26 196 views
0

我在我的一个站点中使用Soundcloud API,文档中提到最大上载文件为500MB,每当我尝试上传大于1MB的文件时,系统都会返回一个500错误(内部服务器错误)。小于1MB的文件可以正常工作。内部服务器错误大文件

我使用PHP 5,curl和Soundcloud API。

感谢您的关注!

拥抱。

+0

如果我的回答是正确的,请考虑将其标记为您的问题的答案。 – zamnuts

回答

3

500mb的限制与他们的 API,发送文件给他们。但是,如果您的服务器最初接收文件(然后发送到soundcloud),则您的服务器也有限制。这通常是你的php.ini中定义:

upload_max_filesize = 50M 
post_max_size = 50M 

或者这有时可以在你的htaccess的覆盖,如果你没有你的ini文件的访问:

php_value upload_max_filesize 50M 
php_value post_max_size 50M 

你也需要增加使用set_time_limit或在php.ini设置的max_execution_time脚本执行时间(15分钟?)和内存限制:

max_execution_time = 900 
memory_limit = 64M 

您需要小心并考虑增加这些限制的含义。他们被设计为安全机制。例如,如果增加memory_limit并且PHP消耗太多内存,则当前进程将移动到交换并降低性能,并可能导致机器崩溃甚至损坏数据;最大执行时间将允许脚本延续更长的时间,所以如果你的脚本写得不好,它可能无限期地挂起或者至少15分钟(像我上面那样)并最终达到其内存限制或机器限制 - 更不用说有多个脚本累积运行和消耗资源。