2011-04-27 5 views
0

제 환경에는 Zend Server CE 및 Ubuntu Server, Apache 2가 설치된 OS X가 포함되어 있습니다. Symfony 1.4로 개발 & PHP 5.3에서 Doctrine.Symfony CLI 스크립트와 함께 PHP 코드 프로파일 러를 사용하려면 어떻게해야합니까?

아파치가 호출 한 PHP뿐만 아니라 명령 행 PHP 스크립트와 함께 사용할 수있는 프로파일 러를 찾고 있습니다. 현재 커맨드 라인에 대한 필요성은 실제로 웹 스크립트보다 더 긴급합니다.

는 이미 로깅 microtime을 통해 일부 무차별 타이밍을 수행 한() 좋은 효과 간격하지만 난 호출되는 각 기능과 너무 많은 손으로 코딩없이 총 시간을 얻을 수 있도록하고 싶습니다.

필자의 주요 관심사는 시간 프로파일 링이지만 메모리 프로파일 러는 매우 유용합니다. microtime()을 사용할 때와 마찬가지로, 대형 객체 또는 콜렉션을 인스턴스화하기 전후에 memory_get_usage()를 반복적으로 호출하여 가끔 발자국의 크기가 얼마나 큰지를 파악해야했습니다.

+1

다양한 PHP 프로파일 링 툴에 대한 논의 : http://stackoverflow.com/questions/21133/simplest-way-to-profile-a-php-script –

+0

@Blowski. 귀하의 링크 +1. – ybull

답변

1

정말 잘 작동합니다. 누군가 우연히 검색 한 무리의 후

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. ERROR: `phpize' failed

:이 오류 이런 종류의 비참하게 실패했다, 그러나

pecl install xdebug 

:

는 내가 명령을 통해 XDebug가 2.1.1를 설치 시도 애플 Xcode를 설치하면 autoconf, phpize 및 기타 필요한 도구가 제공된다고 언급했다.

나는 엑스 코드 3했고, 다음 pecl install xdebug을 다시 시도 것을 설치하고 아름답게했다. PHP의 CLI 인스턴스에서 xdebug를 활성화하고 출력 파일의 위치를 ​​파악한 후 Webgrind로 이동했습니다. 첫 번째 Webgrind 보고서를보고 몇 분 만에 symfony의 최적화 작업 영역을 찾아 냈습니다. 그것은 전설적이었습니다.

또한 내 검색에서 나는 this promising page about how to use Xdebug for MEMORY profiling에 걸쳐 일어났다. 아직 시도하지 않았지만 다른 사람들에게 도움이 될 수 있도록 여기에 추가하고 싶습니다.


관련 토론에 대한 링크와 두 가지 도움이되는 두 가지 답변이 도움이되는 한 가지 의견을 받았습니다. 나는 그 응답자들 각각에게 상향 줄을 나누어 주었다.

나는 S.O. 하나의 대답을 받아들이는 그러한 강조하는 것 같지 않았어요하지만 않기 때문에, 나는 더 완전한 답을 작성하고 그것을 받아들이는하지만 모든 도움 응답자의 upvotes을 줄 확신했다 있어요. 다시 한번 감사드립니다.

4

XDebug 프로파일 링을 수행 할 수 있습니다. 음 ... 프로파일 링 데이터를 수집 할 수 있습니다. 그런 다음 다른 응용 프로그램을 사용하여이 데이터를 분석 할 수 있습니다. 자세한 정보는 링크를 클릭하십시오.

+0

Xdebug를 가리키는 +1을주었습니다. – ybull

3

webgrind는 여기에 내가 아주 만족 해요 최종 솔루션의 날

+0

+1은 webgrind를 제안합니다. 나는 그것을 좋아한다. – ybull

관련 문제