Php 长时间后Url下载到服务器500错误

Php 长时间后Url下载到服务器500错误,php,fopen,fwrite,Php,Fopen,Fwrite,我使用fopen和fwrite将url文件(zip、rar等)直接下载到我的服务器,但如果文件很大或下载时间较长,则返回500错误 PHP 使用ini\u集('max\u execution\u time',0)让我知道这是否有效。你是说你的脚本超时了吗?如果是这样,或者将最大脚本执行时间设置为PHP设置中的更长时间,或者认为这是复制文件的方法的限制。您可以将文件拆分或卸载到另一个进程,也可以将其添加到某个消息队列中,但这些都比您看到的要复杂得多。不,我已经设置了执行时间,我认为脚本运行时在长时

我使用fopen和fwrite将url文件(zip、rar等)直接下载到我的服务器,但如果文件很大或下载时间较长,则返回500错误

PHP


使用
ini\u集('max\u execution\u time',0)让我知道这是否有效。你是说你的脚本超时了吗?如果是这样,或者将最大脚本执行时间设置为PHP设置中的更长时间,或者认为这是复制文件的方法的限制。您可以将文件拆分或卸载到另一个进程,也可以将其添加到某个消息队列中,但这些都比您看到的要复杂得多。不,我已经设置了执行时间,我认为脚本运行时在长时间运行时是否出了问题我建议使用实际设计用于获取文件的东西,像wget一样,您可能超过了PHP max runtime,或者使用了超出允许范围的内存。可能是的,达到了允许的最大内存,所以请将wget与exec一起使用?使用
ini\u集('max\u execution\u time',0)让我知道这是否有效。你是说你的脚本超时了吗?如果是这样,或者将最大脚本执行时间设置为PHP设置中的更长时间,或者认为这是复制文件的方法的限制。您可以将文件拆分或卸载到另一个进程,也可以将其添加到某个消息队列中,但这些都比您看到的要复杂得多。不,我已经设置了执行时间,我认为脚本运行时在长时间运行时是否出了问题我建议使用实际设计用于获取文件的东西,像wget一样,您可能超过了PHP max runtime,或者使用的内存超出了允许的范围。可能是的,达到了允许的最大内存,那么使用wget和exec?
$destination_folder = 'files/';

$url = $_POST['url'];
$newfname = $destination_folder . basename($url);

$file = fopen ($url, "rb");
if ($file) {
  $newf = fopen ($newfname, "wb");

  if ($newf)
  while(!feof($file)) {
    fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
  }
}

if ($file) {
  fclose($file);
}

if ($newf) {
  fclose($newf);
}