CI 묻고 답하기

제목 이러한 차이는 어떤 설정때문에 발생하는 건가요?
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2017/11/17 15:09:56
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 18876   RSS

서버에 있는 코드를 로컬에 옮겨 테스트 중인데

똑같은 코드인데도 로컬에서 테스트하면

 

오류가 발생하는데

 

개발서버에서 올리고 브라우저로 확인하면 오류없이 정상적으로 됩니다.

 

if($_FILES['gongsa_file']['name']!=''){
		   		
		   		$files = array('name'=>$_FILES['gongsa_file']['name'],'type'=>$_FILES['gongsa_file']['type'],'tmp_name'=>$_FILES['gongsa_file']['tmp_name'], 'error'=>$_FILES['gongsa_file']['error'], 'size'=>$_FILES['gongsa_file']['size']);



		   		$fileInfo = $this->file_upload($files);
		   		
		   		$data['filename'] = $_FILES['gongsa_file']['name'];//기본 파일명
		   		$data['tmpname'] = $fileInfo['file_name'];//임시파일명+확장자명
		   	
		   	}

로컬에서는 등록하면

Message: Undefined index: tmpname

정의 되지 않는다는 오류가 발생하는데

 

서버에서는 저런 오류 없이 잘등록이 됩니다.

 

index,php 에서 오류 메세지를 출력 여부를 결정하는

define('ENVIRONMENT', 'development');

이부분은 로컬,서버 모두 'development' 입니다.

 

php버전과, apache 버전이 로컬과 서버 똑같은데

왜 저런 오류가 발생할까요??

php.ini에서 설정하는 부분이 있을까요?

 다음글 파일다운로드시 65메가 이상은 500에러가 발생합니다. (3)
 이전글 서버에 있는 프로젝트를 local로 가져와 테스트 했을... (5)

댓글

/ 2017/11/17 15:20:48 / 추천 0

php는 에러를 노출하는 단계를 하지고 있습니다.

아마 서비스 되는 상태에서 에러가 사용자에게 노출되는게 좋은 효과는 아닐테니 아마 에러가 나더라도 그냥 무시 하도록 처리 해놨을 확률이 높습니다.

http://php.net/manual/kr/function.error-reporting.php

이페이지를 참고 해주세요.

kaido / 2017/11/17 15:28:18 / 추천 0

파일업로드가 실패 되었고, 리턴값에 해당 배열 값을 담아주지 않아서 나오는 오류로 추정됩니다.

개발에서 파일업로드가 성공적인데 로컬에서 실패 하거나, 혹은 그 반대의 상황에서도 실패 한다면 고려할 사유는 한가지입니다.

폴더 권한이 없거나, 디렉토리 경로가 정상적이지 않은 경우에 파일 업로드가 실패했고, 실패처리에 대한 예외처리가 안되어 있다는 이야기로 귀결됩니다.

 

정수리 / 2017/11/17 15:34:47 / 추천 0

@kaido

답변감사합니다.

개발서버와 로컬 모두 첨부 파일 없이 등록하였을 떄 저런 오류가  발생합니다;;

정수리 / 2017/11/17 15:36:30 / 추천 0

@닥

감사합니다.

서비스의 경우 해당 사이트를 사용하는 기관에 서버를 납품하여 만듭니다

 

개발서버의 경우 회사내에서 테스트 하기에 모든 오류를 출력하도록 설정해놔야 하지 않나요??