웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
PHP 각종 오류 정리
2002.12.04 21:18
오랜만에 쓰는 강좌인듯 하네요; 이번에는 PHP 오류들 중 대표적인 것들만 꼽아보았습니다.
아마도 지금까지 제 강좌 중 가장 실용적이지 않을까 하는 생각이 듭니다;;
======================================================================================================
======================================================================================================
들어가기 전에: 간단한 오류 설명
Parse error는 문법상에서 문제가 있을 경우 발생합니다. 좁게는 ";"를 빼먹는 것부터 시작해서 연산자 오류, 변수 오류까지 비슷해 보이지만 다른 오류들이 많습니다.
Warning 오류는 프로그램상에서 어떠한 작업을 올바르지 수행하지 못하게 될 경우(문법적이 아닌 오류)에 주로 발생합니다. 특히 MySQL 오류는 100% Warning 오류가 됩니다. 또한 php.ini의 설정 충돌 문제도 Warning으로 뜹니다.
Fatal error는 말 그대로 "치명적인fatal" 오류입니다. 선언하지 않은 함수를 호출하는 등 프로그램 구조상에 문제가 있다고 보면 됩니다.
======================================================================================================
Warning: Failed opening '경로' for inclusion (include_path='경로') in 경로 on line 줄 수
짧은 영어실력으로 직역->'경로'를 포함시키기 위해 여는 것이( = 인클루드) 실패했다.
인클루드시의 문제입니다. 인클루드할 파일이 존재하지 않을 때 생깁니다. 앞에 있는 경로는 인클루드 명령 속의 경로(불러오려는 경로)이고 중간 것은 현재 절대경로 위치, 뒤의 경로는 오류가 발생하는 파일명입니다.
이 오류를 해결하려면->인클루드 경로를 바르게 표시한다.
Warning: Cannot add header information - headers already sent by (output started at 경로:줄 수) in 경로 on line 줄 수
->헤더 정보를 추가할 수 없다 - 헤더가 벌써 보내졌다(?) (X줄 부터 출력되었다)
헤더 실행 위치의 오류입니다. 헤더는 출력 구문 앞에 와야만 하는데, 그렇지 못한 경우에 오류가 생깁니다. 앞의 줄 수는 맨 위에 있는 출력 구문(echo문, print문 등)의 위치이고 뒤의 줄 수는 헤더문의 위치입니다.
->1. 헤더를 올바른 위치에 둔다.
2. 오류가 일어나는 파일의 맨 위에 ob_start()함수를 위치시킨다(이 함수를 호출하면 저런 에러를 무시합니다).
Warning: MySQL Connection Failed: Access denied for user: 'MySQL ID'(Using password: YES/NO) in 경로 on line 줄 수
-혹은-
Warning: MySQL Connection Failed: 'MySQL ID'+ ' 사용자는 접근이 거부 되었습니다. (Using password: 예/아니오) in 경로 on line 줄 수
->해당 사용자의 접근이 거부 되었다.
없는 MySQL ID이거나 비밀번호가 없을 경우에 발생합니다. 주로 이런 경우에는 mysql_connect() or die() 등을 이용하기 때문에 문구가 자주 나타나지는 않습니다.
->ID와 비밀번호를 확인한다.
Warning: Supplied argument is not a valid MySQL result resource 경로 on line 줄 수
->유효한 MySQL 자원이 아니다.
MySQL 구문이 잘못되었거나 접속이 제대로 되지 않았을 때 발생합니다. 낮은 버전의 PHP에서 지원하지 않는 MySQL관련 함수 실행시에도 발생합니다.
->1. 구문이 문법에 맞는지 확인한다. 테이블 명 등에서 대소문자 부분도 확인한다.
2. 접속이 잘 되었는지를 확인한다. MySQL Connection Failed 오류 아래로 이 오류가 뜨면 접속이 실패한 것이다.
3. 최신 버전의 PHP를 사용한다.
Fatal error: Call to undefined function: 함수명() in 경로 on line 줄 수
->확정하지 않은 함수를 호출하였다.
함수를 미리 선언하지 않고 불러왔을 때 생깁니다. PHP의 버전이 낮아서 함수를 지우너하지 않근 경우에도 생깁니다.
->1. 사용자 정의 함수라면 선언을 했은지 확인한다.
2. 최신 버전의 PHP를 사용한다.
Fatal error: Maximum execution time of 시간 exceeded in 주소 on line 줄 수
->실행 시간을 초과하였다.
주로 파일 업로드 등에서 자주 발생하는 오류입니다. php.ini에서 성정한 실행 시간을 넘으면 이 오류가 뜹니다.
->PHP 환경설정을 손본다.
Fatal error: Failed opening required '경로' (include_path='경로') in 경로 on line 줄 수
->필요로 하는 '경로'를 열 수 없다.
맨 위에 있는 인클루드 오류와 완전히 같습니다. 다만 위의 것은 include문에서의 오류이고 이것은 require문에서의 오류입니다.
->경로를 바르게 입력한다.
Parse error: parse error in 경로 on line 줄 수
->문법 오류가 발생하였다.
가장 흔하고 단순한 오류입니다. 마지막 줄에";"를 빼먹어서 생기는 경우가 대부분입니다. 또한 따옴표 안의 메타 문자("'$%등등..)의 앞에 역슬래쉬를 붙이지 않은 경우도 자주 발생합니다.
->줄 수를 살펴보고 이상이 없는지 점검한다.
*팁: 줄 수를 볼 때 주의할 점이 있습니다. 보통 오류 줄 수는 정확하지만, 마지막에 ;를 빼먹어서 생기는 오류의 경우 그 다음줄에 오류가 났다고 나옵니다. 이외에도 상당히 예외적인 부분이 많으므로 오류가 난 줄 수의 위아래 1~2줄 정도도 함께 확인해보는 것이 좋습니다.
Parse error: parse error, expecting `']'' in 경로 on line 줄 수
->" ] " 때문에 문법 오류가 발생한 것으로 예상된다.
배열변수에서 흔히 일어나는 오류입니다. 일반적인 배열은 $변수면[배열명]으로 표시해도 문제가 없으나, 배열명이 함수의나 키워드(function,return,break...심지어는 and나 or까지도)의 이름과 일치하면 오류가 발생합니다. 또한 따옴표를 마감하지 않아도 이런 문제가 생깁니다.
->오류가 나는 배열명을 따옴표 ' 로 감싸준다(예를 들어 배열명이 date 라면 $변수명[date]가 아니라 $변수명['date']로).
아마도 지금까지 제 강좌 중 가장 실용적이지 않을까 하는 생각이 듭니다;;
======================================================================================================
======================================================================================================
들어가기 전에: 간단한 오류 설명
Parse error는 문법상에서 문제가 있을 경우 발생합니다. 좁게는 ";"를 빼먹는 것부터 시작해서 연산자 오류, 변수 오류까지 비슷해 보이지만 다른 오류들이 많습니다.
Warning 오류는 프로그램상에서 어떠한 작업을 올바르지 수행하지 못하게 될 경우(문법적이 아닌 오류)에 주로 발생합니다. 특히 MySQL 오류는 100% Warning 오류가 됩니다. 또한 php.ini의 설정 충돌 문제도 Warning으로 뜹니다.
Fatal error는 말 그대로 "치명적인fatal" 오류입니다. 선언하지 않은 함수를 호출하는 등 프로그램 구조상에 문제가 있다고 보면 됩니다.
======================================================================================================
Warning: Failed opening '경로' for inclusion (include_path='경로') in 경로 on line 줄 수
짧은 영어실력으로 직역->'경로'를 포함시키기 위해 여는 것이( = 인클루드) 실패했다.
인클루드시의 문제입니다. 인클루드할 파일이 존재하지 않을 때 생깁니다. 앞에 있는 경로는 인클루드 명령 속의 경로(불러오려는 경로)이고 중간 것은 현재 절대경로 위치, 뒤의 경로는 오류가 발생하는 파일명입니다.
이 오류를 해결하려면->인클루드 경로를 바르게 표시한다.
Warning: Cannot add header information - headers already sent by (output started at 경로:줄 수) in 경로 on line 줄 수
->헤더 정보를 추가할 수 없다 - 헤더가 벌써 보내졌다(?) (X줄 부터 출력되었다)
헤더 실행 위치의 오류입니다. 헤더는 출력 구문 앞에 와야만 하는데, 그렇지 못한 경우에 오류가 생깁니다. 앞의 줄 수는 맨 위에 있는 출력 구문(echo문, print문 등)의 위치이고 뒤의 줄 수는 헤더문의 위치입니다.
->1. 헤더를 올바른 위치에 둔다.
2. 오류가 일어나는 파일의 맨 위에 ob_start()함수를 위치시킨다(이 함수를 호출하면 저런 에러를 무시합니다).
Warning: MySQL Connection Failed: Access denied for user: 'MySQL ID'(Using password: YES/NO) in 경로 on line 줄 수
-혹은-
Warning: MySQL Connection Failed: 'MySQL ID'+ ' 사용자는 접근이 거부 되었습니다. (Using password: 예/아니오) in 경로 on line 줄 수
->해당 사용자의 접근이 거부 되었다.
없는 MySQL ID이거나 비밀번호가 없을 경우에 발생합니다. 주로 이런 경우에는 mysql_connect() or die() 등을 이용하기 때문에 문구가 자주 나타나지는 않습니다.
->ID와 비밀번호를 확인한다.
Warning: Supplied argument is not a valid MySQL result resource 경로 on line 줄 수
->유효한 MySQL 자원이 아니다.
MySQL 구문이 잘못되었거나 접속이 제대로 되지 않았을 때 발생합니다. 낮은 버전의 PHP에서 지원하지 않는 MySQL관련 함수 실행시에도 발생합니다.
->1. 구문이 문법에 맞는지 확인한다. 테이블 명 등에서 대소문자 부분도 확인한다.
2. 접속이 잘 되었는지를 확인한다. MySQL Connection Failed 오류 아래로 이 오류가 뜨면 접속이 실패한 것이다.
3. 최신 버전의 PHP를 사용한다.
Fatal error: Call to undefined function: 함수명() in 경로 on line 줄 수
->확정하지 않은 함수를 호출하였다.
함수를 미리 선언하지 않고 불러왔을 때 생깁니다. PHP의 버전이 낮아서 함수를 지우너하지 않근 경우에도 생깁니다.
->1. 사용자 정의 함수라면 선언을 했은지 확인한다.
2. 최신 버전의 PHP를 사용한다.
Fatal error: Maximum execution time of 시간 exceeded in 주소 on line 줄 수
->실행 시간을 초과하였다.
주로 파일 업로드 등에서 자주 발생하는 오류입니다. php.ini에서 성정한 실행 시간을 넘으면 이 오류가 뜹니다.
->PHP 환경설정을 손본다.
Fatal error: Failed opening required '경로' (include_path='경로') in 경로 on line 줄 수
->필요로 하는 '경로'를 열 수 없다.
맨 위에 있는 인클루드 오류와 완전히 같습니다. 다만 위의 것은 include문에서의 오류이고 이것은 require문에서의 오류입니다.
->경로를 바르게 입력한다.
Parse error: parse error in 경로 on line 줄 수
->문법 오류가 발생하였다.
가장 흔하고 단순한 오류입니다. 마지막 줄에";"를 빼먹어서 생기는 경우가 대부분입니다. 또한 따옴표 안의 메타 문자("'$%등등..)의 앞에 역슬래쉬를 붙이지 않은 경우도 자주 발생합니다.
->줄 수를 살펴보고 이상이 없는지 점검한다.
*팁: 줄 수를 볼 때 주의할 점이 있습니다. 보통 오류 줄 수는 정확하지만, 마지막에 ;를 빼먹어서 생기는 오류의 경우 그 다음줄에 오류가 났다고 나옵니다. 이외에도 상당히 예외적인 부분이 많으므로 오류가 난 줄 수의 위아래 1~2줄 정도도 함께 확인해보는 것이 좋습니다.
Parse error: parse error, expecting `']'' in 경로 on line 줄 수
->" ] " 때문에 문법 오류가 발생한 것으로 예상된다.
배열변수에서 흔히 일어나는 오류입니다. 일반적인 배열은 $변수면[배열명]으로 표시해도 문제가 없으나, 배열명이 함수의나 키워드(function,return,break...심지어는 and나 or까지도)의 이름과 일치하면 오류가 발생합니다. 또한 따옴표를 마감하지 않아도 이런 문제가 생깁니다.
->오류가 나는 배열명을 따옴표 ' 로 감싸준다(예를 들어 배열명이 date 라면 $변수명[date]가 아니라 $변수명['date']로).
댓글 15
-
고미경
2002.12.21 00:09
-
TheMics
2002.12.22 19:44
김은영//PHP 오류가 아니군요-_-;;파일을 읽을 권한(퍼미션)이 없다는 뜻입니다. -
TheMics
2002.12.21 08:22
고미경//파일이 없다는 얘깁니다 -
김은영
2002.12.21 16:56
Forbidden
You don't have permission to access /bbs/data/west1/dona2.gif on this server.
^^;; 이건 어떻게하지여~? -
GIDJ
2003.01.02 18:05
Warning: REG_EMPTY in ... -
젠
2003.01.04 22:36
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/t/tschung/public_html/cgi-bin/zb4/zboard.php on line 227
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/t/tschung/public_html/cgi-bin/zb4/zboard.php on line 229
이 오류는 어떻게 고치나요?
제로보드를 4.2pl2로 업그레이드했더니 이런 오류가 납니다 ㅡ.ㅜ -
TheMics
2002.12.13 16:58
김문선//본문에 나와 있습니다. 읽어보세요^^; -
김문선
2002.12.13 12:00
Warning: Supplied argument is not a valid MySQL result resource in /home/01/withtears23/www/zboard/_head.php on line 85
이건어떻게 해야 하죠?? -
☆ 산나라
2002.12.06 22:05
술나비 // 그래요..그건 짜증나는거에요 ㅠ_ㅠ -
ceatlavie
2002.12.06 01:41
파싱 에러가 가장 애매하죠.. ㅠ_ㅠ -
김은영
2002.12.09 12:02
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'+ '$'' in /MY/NEW/home05/w/e/westwitch/pagee/bbs/in1234.php on line 3
이렇게 나오는데...이건 어떤 오류 인가요...
그리고... 어떻게하면 좋을까요..ㅜ.ㅜ 흑흑.... -
TheMics
2002.12.11 08:24
Outsider-Yun//소스 올린거 봤는데요, XML과 충돌이 일어났네요...
첫째줄을 필요가 없으니 아예 지우세요; -
Outsider-Yun
2002.12.10 19:04
Parse error: parse error, unexpected T_STRING in C:Program FilesApache GroupApache2htdocsindex.html.ko.euc-kr on line 1
이건 어떤 오류입니까?-_-? -
TheMics
2002.12.10 08:27
김은영//배열변수에서 문법 오류일 수 있습니다. $변수명[배열명]을 $변수명['배열명']으로 한번 바꿔봐 주세요. -
twing
2003.09.23 10:25
warning:unable to open "for reading:그펀파일이나 디렉토리가 없음 in/home/httpd/htdocs/product/camera/f_download_ok.php on line 37
이 오류시 어떻게 수정해야하나요?
제목 | 글쓴이 | 날짜 |
---|---|---|
왕초보용 개판 오분전 황당 쿠키(3) [2] | 미친개 | 2002.12.09 |
왕초보용 개판 오분전 황당 쿠키(2) [6] | 미친개 | 2002.12.09 |
왕초보용 개판 오분전 황당 쿠키(1) [4] | 미친개 | 2002.12.09 |
PHP 각종 오류 정리 [15] | TheMics | 2002.12.04 |
MYSQL CLASS | 위선OSE | 2002.12.03 |
파일처리 - fseek [3] | 위선OSE | 2002.12.03 |
제로카운터 접속자 수 조정, 최고 간편한 팁(5초 소요, DB보존) [4] | 고광욱 | 2002.12.01 |
카드 결재시 사용되는 자바스크립트와 html [3] | 한꼬마 | 2002.11.28 |
카드 결재 개요 (텔렉) [2] | 한꼬마 | 2002.11.26 |
휴대폰 결재 활용 (최종) | 한꼬마 | 2002.11.26 |
휴대폰 결재 설치 및 테스터 [3] | 한꼬마 | 2002.11.24 |
휴대폰 결재 설치 1 (다날 휴대폰 결재) | 한꼬마 | 2002.11.24 |
모닝샵 이용해서 쇼핑몰 만들기 (화면 꾸미기 1) [4] | 한꼬마 | 2002.11.24 |
모닝샵 이용해서 쇼핑몰 만들기 (상품 목록) | 한꼬마 | 2002.11.22 |
모닝샵 이용해서 쇼핑몰 만들기 (웹페이지 만들기1) [8] | 한꼬마 | 2002.11.22 |
모닝샵 이용해서 쇼핑몰 만들기 (제품 관리) [4] | 한꼬마 | 2002.11.21 |
모닝샵을 이용하여 쇼핑몰 만들기 (카테고리) [1] | 한꼬마 | 2002.11.21 |
모닝샵 이용해서 쇼핑몰 만들기 (설치에서 쇼핑몰 환경 설정) [7] | 한꼬마 | 2002.11.20 |
모닝샵 이용해서 쇼핑몰 만들기 (서론) [5] | 한꼬마 | 2002.11.19 |
[My생각] 쿠키와 보안에 대한 재미있는 생각!! [1] | 박용구 | 2002.11.18 |
Warning: flock(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1006
Warning: flock(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1010
Warning: fclose(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1011
Warning: fopen("data/now_connect.php", "w") - Permission denied in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1005
Warning: flock(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1006
Warning: flock(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1010
Warning: fclose(): supplied argument is not a valid File-Handle resource in /home2/urbanplex/wwwhome/cd/zboard/lib.php on line 1011
이런건 어떤 오류인지요?