목차
오류보고를 활성화합니다
var_dump () 또는 print_r () 사용
로그를 확인하십시오
디버거 (예 : XDEBUG) 활용
백엔드 개발 PHP 튜토리얼 PHP 스크립트를 디버깅하는 방법?

PHP 스크립트를 디버깅하는 방법?

Sep 26, 2025 am 05:59 AM
php 디버그

ini_set 및 error_reporting으로 오류보고를 활성화하여 모든 오류를 표시하고 Var_dump 또는 Print_r을 사용하여 변수를 검사하고 숨겨진 문제에 대한 PHP 및 서버 로그를 확인하고 고급 디버깅을 위해 XDEBUG를 활용하십시오.

PHP 스크립트를 디버깅하는 방법?

PHP 스크립트를 디버깅하려면 코드에서 오류를 식별하고 수정해야합니다. 핵심은 다루는 오류 유형을 이해하고 올바른 도구와 기술을 사용하여 추적하는 것입니다.

오류보고를 활성화합니다

기본적으로 PHP는 오류가 표시되지 않아 디버깅을 어렵게 만듭니다. 오류 보고서를 켜서 무엇이 잘못되고 있는지 확인하십시오.

스크립트 상단 에이 줄을 추가하십시오.

ini_set ( 'display_errors', 1);
ini_set ( 'display_startup_errors', 1);
error_reporting (e_all);

이를 통해 모든 오류, 경고 및 통지가 브라우저에 표시됩니다.

var_dump () 또는 print_r () 사용

스크립트의 다른 지점에서 변수 값을 확인하십시오. 이러한 기능은 데이터 유형 및 컨텐츠를 검사하는 데 도움이됩니다.

예:

$ user = [ 'name'=> 'john', 'age'=> 30];
var_dump ($ user);

자세한 유형 및 값 정보는 var_dump ()를 사용하십시오. 클리너 배열/객체 출력에는 print_r () 를 사용하십시오.

로그를 확인하십시오

PHP 및 웹 서버 (예 : Apache 또는 Nginx) 로그 오류. 브라우저에 아무것도 나타나지 않으면 오류 로그를보십시오.

로그 위치를 찾으십시오.

echo ini_get ( 'error_log');

또는 서버의 로그 디렉토리 (예 : /var/log/apache2/error.log )를 확인하십시오.

디버거 (예 : XDEBUG) 활용

고급 디버깅의 경우 phpstorm 또는 vs 코드와 같은 IDE와 함께 XdeBug를 사용하십시오.

단계 :

  • PECL 또는 패키지 관리자를 통해 XDEBUG를 설치하십시오.
  • php.ini 에서 활성화하십시오.
  • IDE를 디버그 연결을 듣도록 구성하십시오.
  • 중단 점을 설정하고 코드를 통과하십시오.

이를 통해 변수, 통화 스택 및 실행 흐름을 실시간으로 검사 할 수 있습니다.

기본적으로 오류보고 및 간단한 출력 점검으로 시작하십시오. 필요에 따라 로그 및 전체 디버거로 이동하십시오. 복잡하지는 않지만 기본 사항을 간과하기 쉽습니다.

위 내용은 PHP 스크립트를 디버깅하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP에서 싱글 톤 패턴을 구현하는 방법은 무엇입니까? PHP에서 싱글 톤 패턴을 구현하는 방법은 무엇입니까? Sep 25, 2025 am 12:27 AM

싱글 톤 패턴은 클래스에 인스턴스가 하나만 있고 단일 객체가 데이터베이스 연결 또는 구성 관리와 같은 시스템 작동을 조정하는 시나리오에 대한 글로벌 액세스 포인트를 제공합니다. 2. 기본 구조에는 다음이 포함됩니다. 개인 정적 속성 저장 인스턴스, 개인 생성기는 외부 생성을 방지, 개인 복제 방법을 복사하지 못하고 인스턴스를 얻기위한 공개 정적 방법 (getInstance ()). 3. getInstance () 메소드를 호출하여 PHP에서 고유 한 인스턴스를 얻고 몇 번이나 호출 되더라도 동일한 개체 참조를 반환합니다. 4. 표준 PHP 요청 모델에서 스레드 안전을 고려할 필요는 없지만, 동기화 문제는 장기 또는 다중 스레드 환경에서주의를 기울여야하며 PHP 자체는 기본 잠금 메커니즘을 지원하지 않습니다. 5. 싱글 톤은 유용하지만

PHP에서 Null Coalescing 연산자 (??)을 사용하는 방법? PHP에서 Null Coalescing 연산자 (??)을 사용하는 방법? Sep 25, 2025 am 01:28 AM

답변 : PHP의 빈 합병 연산자 (??)은 변수 또는 배열 키가 존재하고 무효가 아닌지 확인하는 데 사용됩니다. 사실이라면 값을 반환하고 그렇지 않으면 기본값을 반환합니다. 긴 ISSET () 점검을 사용하는 것을 피하고, $ username = $ userInput ?? 'Guest'와 같은 정의되지 않은 변수 및 배열 키를 처리하는 데 적합하며, $ teme = $ usertheme ?? $ defaulttheme ?? 'Dark'와 같은 체인 호출을 지원합니다. 양식, 구성 및 사용자 입력에 특히 적합한 경우, emull values, emply vallys, emply values, excluds and excluds is allud valluds is allud valluds.

PHP 클래스에서 인터페이스를 구현하는 방법은 무엇입니까? PHP 클래스에서 인터페이스를 구현하는 방법은 무엇입니까? Sep 25, 2025 am 05:34 AM

Amplements 키워드를 사용하여 인터페이스를 구현하면 클래스는 인터페이스에서 모든 메소드의 특정 구현을 제공해야합니다. 2. 인터페이스 키워드를 사용하여 메소드를 선언하려면 인터페이스를 정의하십시오. 3. 클래스는 인터페이스를 구현하고 메소드를 무시합니다. 4. 객체를 생성하고 메소드를 호출하여 결과를 출력하십시오. 5. 클래스는 여러 인터페이스를 구현하여 코드 사양 및 유지 관리 가능성을 보장 할 수 있습니다.

PHP의 XSS를 방지하기 위해 사용자 입력을 소독하는 방법은 무엇입니까? PHP의 XSS를 방지하기 위해 사용자 입력을 소독하는 방법은 무엇입니까? Sep 25, 2025 am 05:19 AM

topreventxssinphp, sanitizeuserinputandescapeoutputputbasedoncontextusinghtmlspecialchars () forhtml, json_encode () forjavaScript, andvalidatestrictlywithfilter_var () forexpectedDatatypes, forexpectedDatatypes, whileeavercitordOningfolounsOningContOnsOningContOnsOningContOnsOningContOctionContOningContOningContOctionContOningContOningContOningContOndEr

PHP와 함께 HTML 양식으로 Get 및 Post 메소드를 사용하는 방법은 무엇입니까? PHP와 함께 HTML 양식으로 Get 및 Post 메소드를 사용하는 방법은 무엇입니까? Sep 25, 2025 am 03:46 AM

GET 메소드는 데이터를 URL에 첨부하는데, 이는 민감하지 않은 정보에 적합합니다. Post 메소드는 요청 본문을 통해 데이터를 보냅니다. 이는 민감한 정보에보다 안전하고 적합합니다.

PHP에서 두 배열의 교차점을 찾는 방법은 무엇입니까? PHP에서 두 배열의 교차점을 찾는 방법은 무엇입니까? Sep 26, 2025 am 06:23 AM

Array_Intersect () 함수를 사용하여 각 배열에 존재하는 요소를 동시에 반환하고 키 이름은 첫 번째 배열에서 유지됩니다. 예 : $ arr1 = [ 'Apple', 'Banana', 'Orange']; $ arr2 = [ 'Banana', 'Kiwi', 'Apple']; 결과는 [ 'Apple', 'Banana']입니다.

PHP에서 기본 시간대를 설정하는 방법은 무엇입니까? PHP에서 기본 시간대를 설정하는 방법은 무엇입니까? Sep 26, 2025 am 06:22 AM

setTheDefaultTimeZoneInphSpusingDate_Default_Timezone_Set ( 'America/New_York'); WithaValidifier likeUtcoreurope/londontoenseReconsistentDate/TimeHandlingAcrossFunctionsandenvenments.

PHP 스크립트를 디버깅하는 방법? PHP 스크립트를 디버깅하는 방법? Sep 26, 2025 am 05:59 AM

EnableErrorReportingWithIni_SetAnderRor_ReportingTodisPlayAllErrors, usevar_dumporprint_rtoinspectvariables, checkphpandserverlogsforhiddenissues, andleverxdebugwithanideforadvanceddebugging.

See all articles