我在我的一个网站上使用Soundcloud API并且文档说最大上传文件是500MB,每次我尝试上传大于1mb的文件时,系统都会返回500错误(内部服务器)错误)。小于1MB的文件可以正常工作。
我正在使用PHP 5,curl和Soundcloud API。
感谢您的关注!
拥抱。
答案 0 :(得分:3)
500mb的限制是使用他们的 API,向他们发送文件。但是,如果您的服务器最初接收文件(然后发送到soundcloud),您的服务器也有限制。这通常在你的php.ini中定义:
upload_max_filesize = 50M
post_max_size = 50M
如果您无法访问您的ini文件,或者有时会在您的htaccess中覆盖:
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分钟(就像我上面那样)并最终达到其内存限制或机器的限制 - 更不用说让多个脚本运行并累积消耗资源。