2013-07-21 4 views
0

정보가 거의없는 매우 복잡한 문제가 있습니다. 좋아, 사람들이 파일을 업로드하는 사이트가 있는데,이 파일들은 64 개의 코드로 인코딩되어 다른 사이트로 전송됩니다. 두 번째 사이트는 파일을 저장 한 다음 해당 파일에 대한 데이터베이스 레코드를 추가합니다. 이 프로세스의 어딘가에서 약 8 개의 파일 중 1 개가 모든 콘텐츠를 잃어 버리고 있습니다.저장시 모든 데이터가 손실됩니다.

이 시스템은 약 5 개월 동안 가동되었으며이 오류는 지난 달 서버 작동과 공동으로 발생했습니다. 예를 들어 파일과 공통된 것이 없습니다. 확장 또는 소스, 시간과 함께 중요하지 않으며 PHP 오류가 기록되지 않습니다. 내가 실패한 파일의 복사본을 가지고 있는데 업로드하려고하면 정상적으로 작동합니다.

첫 번째 사이트는 빈 파일을 통과시키지 않으므로 두 번째 사이트에서 일어날 수 있습니다. 아마도 php config 옵션을 놓친 것 같습니다. 철저히하기 위해 파일을 저장하는 코드는 다음과 같습니다.

$fileName = time() . ($id->count + 1) . '-' . $this->post['jobId'] . $this->post['fileType']; 
file_put_contents(DIR_TMP . "cvs" . DS . $fileName, base64_decode($this->post['cv']), FILE_APPEND); 

해당 서버는 Linux CentOS 6 64 비트입니다.

요약하면이 문제는 서버 이동 후에 시작되며 1/8 파일에 영향을 미치며 문제의 파일은 계속 실패하지 않습니다. 파일 확장자 나 타이밍에 패턴이 없습니다 (여러 파일이 동시에 처리되는 것을 볼 수 없기 때문에 서버가 과부하 상태라고 생각하지 않습니다). PHP 오류가 기록되지 않습니다.

어떤 도움도 많이 받으실 수 있습니다.

+0

가능한 파일 사용 권한 문제를 조사 했습니까? –

답변

0

답을 찾았고 결과적으로 파일이 사용하는 경로를 추적 할 수 있었고 이전 버전의 사이트를 사용하고있었습니다. 이야기의 도덕은 화이트리스트 사이트를 다루는 경우 사이트의 어떤 버전이 어디에 있는지 염두에 두어야합니다!

관련 문제