본문 바로가기

Study/IT 분야 연구

PHP 파일 업로드가 안될 경우 문제 해결 방법 (임시 디렉토리 설정 방법)

반응형

php파일-업로드-안됨-해결방법
파일업로드 해결방법

 

PHP 웹서버에서 파일 업로드가 안될 경우 해결방법에 대해 설명드립니다. 에러 값이 6일 때의 해결방법이니 참고하시기 바랍니다. 

 

개요

 

요즘 PHP를 이용하여 웹서버를 구축하는 개발자들은 흔치 않습니다. 그럼에도 불구하고 사무실에서 개발한 자동화 웹서버가 PHP로 구성되어 있어서 부득이하게 PHP를 사용하고 있습니다.

 

최근 서버 저장공간이 부족하여 /tmp 디렉터리의 임시 파일 및 디렉터리를 정리를 한 적이 있습니다. 비슷한 시점부터 웹서버에 파일 업로드 시 파일이 업로드되지 못하는 문제가 발생하기 시작하였고, 다행히 문제의 원인을 찾아서 해결할 수 있었습니다.

 

문제의 현상

 

업로드 실패 시 array를 dump 해보면 아래와 같이 tmp_name이 공란이고, error 값은 6입니다.

Array
{
  [name] => abc.txt
  [type] =>
  [tmp_name] =>
  [error] => 6
  [size] => 0
}

 

error code가 6인 경우는 임시 디렉터리 설정이 제대로 되지 않아서 발생하는 에러입니다.

 

해결 방법

 

php.ini 파일에 upload_tmp_dir 항목을 설정해줍니다.

 

$ vi /etc/php/8.0/apache2/php.ini

선호하는 편집기를 이용해서 php.ini 파일을 편집해줍니다.

저의 경우는 Ubuntu OS에 Apache2와 PHP를 셋업 하여 사용하고 있습니다. 경로는 시스템이나 PHP 버전에 따라서 다를 수 있습니다.

 

기존 변경
;upload_tmp_dir = upload_tmp_dir = /tmp

 

위와 같이 편집해준 후에 Apach2를 재시작합니다.

 

$ sudo service apache2 restart

 

결론

 

PHP 웹서버에서 파일 업로드 시에 에러 코드가 6인 경우, upload_tmp_dir 경로를 설정한 후에 웹서버를 재시작해주면 깔끔하게 해결됩니다.

반응형