0

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

我正在使用 PHP 5、curl 和 Soundcloud API。

感谢您的关注!

拥抱。

4

1 回答 1

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 分钟(就像我上面所说的那样)并最终达到其内存限制或机器的限制 -更不用说让多个脚本运行并累积消耗资源。

于 2012-06-26T20:05:41.990 回答