2017-09-23 16 views
1

.php 개의 파일이 로컬 & 서버에 있습니다. 클라이언트 측 (모바일 앱)에서 웹 서비스로 사용하는 모든 파일. 그러나 그 파일/폴더가 FTP를 통해 FTP를 통해 업로드 된 후 파일 업로드 프로세스가 진행되어 클라이언트 측에서 일부 웹 서비스가 작동을 멈추거나 오작동 (웹 서비스 응답에서 HTML 컨텐트를 반환)했습니다.FTP를 통해 서버에 동일한 파일을 업로드 할 때 클라이언트 측에서 PHP 파일에 액세스 할 수 없습니다

때로는 로컬 네트워크가 느리고 서버에 파일을 업로드하려고 할 때 단일 파일에 대해서도이 문제가 발생합니다.

많은 라이브 사용자가 있으며 서버 측에서 파일 업로드시이 문제가 거의 발생하지 않습니다.

FTP에 대해 AWS serverFileZilla을 사용하는 것.

답변

1

비정형 연산의 일반적인 문제가 있습니다. 해결책은 작업을 원자화하는 것입니다. 즉, 모든 파일을 변경하는 것입니다.

이 경우 디렉토리에 모든 파일이 있습니다 (htdocs 디렉토리). 그런 다음이 디렉토리의 이름을 htdocs1으로 변경하고 htdocs2 디렉토리를 새로 만듭니다. 마지막으로 htdocs1을 가리키는 심볼릭 링크 htdocs을 만듭니다.

이제 모든 새 파일을 htdocs2에 업로드하는 데 걸릴 수 있습니다. 완료되면 htdocs1이 아닌 htdocs2을 가리 키도록 심볼 링크를 변경합니다.

마지막으로 PHP 가속기를 사용하는 경우 캐싱 문제가 발생할 경우를 대비하여 웹 서버 (또는 PHP-FPM)를 다시로드해야 할 수도 있습니다.

사이트의 다음 업데이트의 경우 동일한 작업을 수행하고 htdocs1에 업로드 한 다음 다시 심볼 링크를 변경하십시오. 짧은

그래서 : 당신이 다른 디렉토리를 사용하려면

mv htdocs htdocs1 
mkdir htdocs2 
ln -sTf htdocs1 htdocs 

그냥 마지막 명령을 조정합니다.

쉘 액세스 권한이없는 경우 PHP에서 기호 링크 (http://php.net/manual/en/function.symlink.php)를 만들 수 있으므로 PHP 스크립트를 작성할 수도 있습니다.