제가 소유하고있는 원격 서버에서 직접 링크로 파일을 다운로드하는 PHP 스크립트가 있습니다. 때로는 큰 파일 (~ 500-600 MB) 및 경우에 따라 작은 파일 (~ 50-100 MB).PHP 스크립트가 갑자기 멈추지 않고 멈 춥니 다.
스크립트의 일부 코드 :
나는 큰 파일을 다운로드하고 웹 브라우저에서 스크립트를 실행하는 경우$links[0]="file_1";
$links[0]="file_2";
$links[0]="file_3";
for($i=0;$i<count($links);$i++){
$file_link=download_file($links[$i]); //this function downloads the file with curl and returns the path to the downloaded file in local server
echo "Download complete";
rename($file_link,"some other_path/..."); //this moves the downloaded file to some other location
echo "Downloaded file moved";
echo "Download complete";
}
내 문제는 완료하는 데 5~10분 개까지 소요하고 스크립트 에코 개까지 "다운로드 완료입니다 "그러면 그것은 완전히 죽습니다. 나는 항상 스크립트가 죽기 전에 다운로드되는 파일이 100 % 다운로드되었음을 발견했다.
반면에 웹 브라우저에서 50-100MB와 같은 작은 파일을 다운로드하거나 명령 셸에서 스크립트를 실행하면이 문제가 전혀 발생하지 않으며 스크립트가 완전히 완료됩니다.
나는 이것에 대해 내 자신의 VPS를 사용하고 있으며 서버에 시간 제한이 없습니다. 치명적인 오류나 메모리 과부하 문제는 없습니다.
또한 ssh2_sftp
을 사용하여 원격 서버에서 파일을 복사했습니다. 하지만 웹 브라우저에서 실행하면 같은 문제가 발생합니다. 항상 파일을 다운로드하고 다음 줄을 실행 한 다음 죽습니다. 아주 이상한!
이 문제를 극복하려면 어떻게해야합니까? 당신이 큰 파일을 다운로드 할 수 있는지 확인하려면
웹 서버의 오류 로그를 확인 했습니까? –
주제를 벗어나서 죄송합니다.하지만 저항 할 수 없었습니다. "640KB는 모든 사람에게 충분해야합니다"라는 시대를 기억합니다. 그리고 지금, 50-100 MB는 "작은 파일"입니다. – Voitcus