일반적인 php 오류

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article Original English article
  

이 튜토리얼에서는, 우리는 일반적인 php의 일부를 보는거야 발생하는 오류를 해결하는 방법을 그리고 그들을합니다.

구문 분석 오류가

퍼스의 형식을 때 오류가 발생 귀하의 코드가 올바르지 않습니다. 예를 들어, 다음의 코드 :

  <분할에 대한 ($ 나 = 1; $ 나 <10; $ 나 + +) ($ 출력 = "현재의 반복 :"합니다.  $ 나.  "<br>"에코 $ 출력;)?> 

다음과 같은 내용의 오류가 반환됩니다 :

구문 분석 오류 : 구문 분석 오류, 예상치 못한 t_echo를 c : \ 웹서버 \ test2.php 번 라인에 네

이 오류 메시지가 표시됩니다 놓치기가 있기 때문에 세 번째 줄의 끝에 세미콜론 앞의 예제. php가되는 메시지를 알려줍니다 명령을 그다지 기대하지 않는 회선의 메아리 4. 가 될 것으로 예상하기 때문에 이것은 세미콜론이 3 행 끝에합니다. 대부분의 시간 동안이 오류가 생기면, 그 이유는 이전 회선에 문제가있는가와 같은 놓치기 세미콜론 앞의 예제로합니다.

이러한 오류가 발생하는 또 교정기, (), 예를 들어 다음과 같은 코드 :

  <분할에 대한 ($ 나 = 1; $ 나 <10; $ 나 + +) ($ 출력 = "현재의 반복 :"합니다.  $ 나.  "<br>"; 경우 ($ 출력 == 5) (에코 "이것은 다섯 번째 반복";)))?> 

라는 오류 메시지를 반환합니다

구문 분석 오류 : 구문 분석 오류, 예기치 않은 ')'를 c : \ 웹서버 \ test2.php 번 라인에 8

엑스트라 폐쇄로 인해 이것은 걸림 쇠,), 번 라인에 8. 비록이 문제를 간단하게 설명한 짧은 블록을 참조하십시오 코드, 복잡한 코드를 포함하는 수 많은 중첩 루프를 훨씬 더 세게 또는 진술을, 그리고 그것의 하드 닫는 괄호를 괄호의 개막과 일치하도록합니다.

이 문제를 신속하게 찾을 수있습니다 교정기 명령을 사용하여 균형을 dreamweaver mx는 '수정'메뉴에서합니다. 에 커서를 배치할 수있습니다 줄의 코드를 선택하십시오 균형 교정기 명령을, 그리고 그것을 위해 줄의 코드를 강조 차단하는 모든 걸림 쇠를 열고 닫는 브레이 스에서합니다. 귀하의 코드를 확인하여 잔고에있는교정기 명령을 신속하게 찾을 수있습니다 누락 또는 여분의 걸림 쇠가 어디에.

정의되지 않은 색인이 생성되거나 변수를

이 섹션을 설명이 무엇을해야할지 귀하의 웹 페이지에 메시지를 수신하는 경우 다음 중 하나를 같이 :

경고

정의되지 않은 인덱스 : 액션의 \ 홈 \ www \ login.php 번 라인에 25

경고

정의되지 않은 변수 : 메시지의 홈 \ www \ login.php 번 라인에 52

이러한 메시지는 자주 혼동 사람, 그들처럼 오류 메시지 및 코드를 사용하여 작동되는지도가 발생할 수있습니다 완벽하게합니다. 실제 오류 메시지가되지 않습니다; 대신에, 그들은 분류는 "고지,"어떤 경고를 상황이 어디에 오류가있다는 사실은 코드가 작동을 중지합니다. 무슨 메시지를 알려줍니다 변수를 언급한 것은 구체적으로 정의되지 않았습니다 php 변수 이름 성명을 사용합니다.

예를 들어, 다음과 같은 두 개의 블록의 코드를보세요 :

  <분할 변수 이름 $ 사용자 이름을; $ 사용자 이름 = $ http_session_vars [ '사용자 이름'];?> 그리고 : <? http_session_vars $ 사용자 이름 = 달러 [ '사용자 이름'];?> 

블록의 코드가 모두 동일한 결과, 그러나 두 번째 블록을 코드가 데리고 이전에 다음과 유사한 메시지가 표시되어, 왜냐하면 우리는 구체적으로하지 않은 사용자 이름을 달러 변수를 정의합니다. 귀하의 변수를 정의하여 코드 첫 번째는 뜻이 매개 변수를 알려 드릴 수 철자하는 경우 귀하의 코드,의 매개 변수는 이전에 정의된 신규 및없습니다.

이 문제에 대한 해결책을 두개있다. 첫 번째는 귀하의 코드를 통해서으로 돌아가 모든 변수를 구체적으로 정의되었는지 확인합니다. 두 번째 옵션이 표시되지 않도록 고지를 중지로 그들은 더 이상의 문제들을 종종 그들은 상당합니다. 넌 할 수있어 다음과 같은 코드를 추가하여 각 페이지의 맨 위에이있는 오류 :

  <분할 error_reporting (e_all & ~ e_notice);?> 

이 지시 php 모든 오류 메시지를 표시 및 경고 아니라 고지를 표시합니다. 이렇게하려면 영구적으로 변경합니다 귀하의 php.ini 파일을 error_reporting 설정은 앞에서 설명한 설정을합니다.

헤더를 이미 오류를 보냈다

이것은 또 다른 오류 메시지가 자주 발생, 특히 쿠키나 세션을 사용하는 경우, 그리고 그것은 다음과 같은 메시지와 유사합니다 :

헤더 정보를 수정할 수없습니다 - 헤더를 이미 보낸 (출력 시작했다 / 홈 / 웹 / newtest.php : 3)에 / 홈 / 웹 / test.php를 선 5

문제는, 헤더 기능을하기 전에 공백으로 인해 발생합니다. the php 헤더 함수를 사용하여 사용자가 다른 페이지로 리디렉션합니다, 그것은 명령을 전송하여 페이지의 머리글을 브라우저, 말하는 그것을 새로운 페이지로 이동합니다. 그러나, 헤더가 발송되었습니다 브라우저에 한 번, 당신의 헤더에 액세스하는 기능을 더 이상 사용할 수없습니다와 같은 헤더 기능을합니다. 만일의 브라우저로 전송되지 않는 것은 무엇이든 특별 헤더 함수를 헤더가 폐쇄되고 html에 대한 다른 모든 웹 페이지를 추정된다. 그래서이 일어나는 이유는 무엇입니까 앞의 코드가?

빈 줄을가 있기 때문에이 문제가 발생합니다 (행 2)는 브라우저로 보내집니다. 헤더에 이러한 문제가 발생합니다 폐쇄, 그래서 헤더 함수가 실패로 그것의 헤더에 쓸 수 없게합니다. 그러나, 공백 라인을 제거합니다 행의 경우에도 2, 당신과 같은 오류 메시지를 얻을 것이다. 이것은 두 개의 공백이 있기 때문에 연말에?>의 태그 라인 1. 이들은 또한 삭제, 다시 그들의 브라우저로 전송됩니다되며 머리글을 닫습니다. 이러한 공백을 줄 끝에 현물하기 어려운 수있습니다 그들이 보이지 않는 이유!

사용할 수있는 방법은, 그래도 그들을 용이하게 발견합니다. 연말에 커서를 놓으십시오하는 경우 각각의 라인과 왼쪽으로 - 버튼을 클릭하고 마우스를 오른쪽으로 이동, 모든 라인의 끝에 공백이 강조 표시됩니다, 이전 화면에 표시된 바와 같이합니다. 공백을 제거할 수있습니다 그러면합니다.

이 코드는 지금 다시 테스트를 거침 경우, 그것이 올바르게 작동해야합니다.

이 오류가없는 경우에도 발생할 수있습니다 둘러싸여있다 php 태그를 출력 페이지에 대한 어떠한 파일을 포함합니다. 그래서 만약 귀하의 메인 페이지에서 코드를 보이는 벌금 그리고 당신은 여전히을 받고있는 오류, 그 다음 단계는 모든 포함 파일을 통해 확인하려면 해당 페이지를 사용합니다. 종종, 새로운 라인에 오류가 발생하여 최종 php 태그를 포함할 후 파일을 어떤 경우 제거해야합니다.

이것은 온천 문서가 추가되지 층운 huo
면책 조항 : 우리의 웹사이트는이 문서에 포함된 정보에 대한 책임을지지 않습니다. 이 문서가 어떠한 방식 으로든 반영하는 것으로,보기, 의견, 생각이나 신념의 기사 디렉토리 직원합니다.

번역 참고 사항 :이 문서 "일반 php 오류"는 번역 자동 번역 서비스를 사용합니다. 우리가 진심으로 번역 오류가 발생했습니다 끼쳐 드려 죄송합니다. 이해를 주셔서 감사합니다.


Online: 1101 users browsing the articles directory