홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
PHP 각종 오류 정리
10년 전
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']로).
추천추천 : 488 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.