문제

PHP 학습 프로세스의 일환으로 공유 호스팅 서비스를 사용하여 PHP 웹 로그 응용 프로그램을 사용하고 있습니다. 서비스 제공 업체에는 원격 SSH 액세스가있는 일반적인 램프 환경이 있습니다.

Vim은 PHP 코드를 탐색하는 데 가장 친한 친구였습니다. 그러나 오류가 발생한 경우 코드에서 물건을 추적하기가 어렵다는 것을 알았습니다. 예를 들어, 때로는 페이지를 방문하고 오류 메시지가 전혀없는 빈 응답을 받았습니다. 이것을 어떻게 디버깅해야합니까? 도움이 될 도구가 있습니까?

제 경험은 주로 C/C ++, Perl 및 일부 CGI 프로그래밍에있었습니다. 그래서 PHP는 나와 매우 상쾌한 경험입니다 :-)

중요한 경우, 내가 가지고있는 응용 프로그램은 IS입니다. 학원, 그리고 램프 환경 자체에 대한 선택은 많지 않습니다.

편집 : 무료 소프트웨어 도구 선호 :-)

도움이 되었습니까?

해결책

호스팅 제공자가 PHP 설치를 구성했다고 가정합니다. display_errors 꺼져서 좋은 일입니다. 그것이 빈 페이지를보고있는 이유입니다. 따라서 현재 가장 실용적인 솔루션은 .htaccess 파일을 사용하는 것입니다.

php_flag display_errors on

당신도 필요합니다 error_reporting 적절한 값으로 :

php_flag error_reporting "E_ALL | E_STRICT"

어쨌든, 사용자가 웹 사이트에 액세스하도록하기 전에이를 끄는 것을 잊지 마십시오.

사전 디버깅을 위해 권장합니다 xdebug 서버에 설치되었습니다 일식 Pdt 또는 PHP 지원을 가진 NetBeans IDE 편집자로서. 둘 다 디버깅을위한 좋은 고객이지만, 모든 공급자가 라이브 서버에 XDEBUG를 설치할 것이라고 의심합니다. 따라서 개발 환경이없는 경우 로깅 기능이 거의 남아 있습니다.

다른 팁

예를 들어 XAMPP를 통해 자신의 지역 개발 환경에 액세스하면 XDEBUG를 설치할 수 있습니다.

PHPED를 사용하면 Eclipse의 PDT 환경도 디버깅 할 수 있습니다.

PHP의 INI 구성 파일 편집을 통한 오류 추적 및 로깅은 특히 정보를 기록하도록 관리 할 수있는 경우에도 좋습니다. 또한 예를 들어 추적 진술을 추가하고 Firephp 사용을 고려하십시오.

개인적으로, 나는 추천합니다 제다트 vim보다는. SFTP 플러그인을 사용하면 서버에서 PHP 문서를 직접 편집 (잘로드 및 저장) 할 수 있으며 PHPPARSER 플러그인은 일부 오류 인식을 제공합니다.

또한 오류 메시지가없는 빈 페이지를 얻으면 해당 메시지가 방금 숨겨져있을 가능성이 있습니다. 오류보고가 활성화되어 있는지 확인하십시오. 구성 또는 다음과 같은 코드에서 :

// Report all PHP errors
error_reporting(E_ALL);

오류보고가 활성화되어 있고 여전히 메시지가 표시되지 않으면 로깅을 사용하도록 설정 또는 활성화 브라우저에 출력.

빈 페이지를 받으면 아마도 치명적인 오류 때문일 것입니다. display_errors 껐다. 기본적으로 PHP는 오류를 Apaches Error-Log에 로그인하지만 별도의 로그로 오류를 기록합니다.

디버깅의 경우 XDEBUG를 살펴 보는 것도 가능합니다. 이 확장은 대화식 디버깅을 포함하여 많은 일을 할 수 있습니다. 디버거를 사용하려면 클라이언트가 필요하지만 VIM 용 플러그인이 있습니다.

Nusphere phped를 사용해보십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top