아시다시피 Xdebug는 2. * 버전부터 메모리 프로파일 링 지원을 중단했습니다. 여기에서 "제거 된 기능"문자열을 검색하십시오 : http://www.xdebug.org/updates.php
제거 된 기능
제대로 작동하지 않았기 때문에 메모리 프로파일 링에 대한 지원을 제거했습니다.
그래서 다른 도구를 사용해 보았는데 잘 작동했습니다.
https://github.com/arnaud-lb/php-memory-profiler
이 기능을 활성화하기 위해 Ubuntu 서버에서 수행 한 작업입니다.
sudo apt-get install libjudy-dev libjudydebian1
sudo pecl install memprof
echo "extension=memprof.so" > /etc/php5/mods-available/memprof.ini
sudo php5enmod memprof
service apache2 restart
그리고 내 코드에서 :
<?php
memprof_enable();
// do your stuff
memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));
마지막으로 KCachegrind로callgrind.out
파일을 엽니 다.
Google gperftools 사용 (권장!)
먼저 https://code.google.com/p/gperftools/ 에서 최신 패키지를 다운로드하여 Google gperftools 를 설치합니다 .
그리고 언제나처럼 :
sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install
이제 코드에서 :
memprof_enable();
// do your magic
memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));
그런 다음 터미널을 열고 실행하십시오.
pprof --web /tmp/profile.heap
pprof 는 아래와 같이 기존 브라우저 세션에 새 창을 만듭니다.
Xhprof + Xhgui (내 의견으로는 CPU와 메모리를 모두 프로파일 링하는 것이 최고)
로 Xhprof 및 Xhgui 그 문제 순간에 있다면 당신은뿐만 아니라하거나 메모리 사용량 CPU 사용량을 프로파일 링 할 수 있습니다. 매우 완벽한 솔루션이며 완전한 제어권을 제공하며 로그는 mongo 또는 파일 시스템 모두에서 작성할 수 있습니다.
자세한 내용 은 여기 내 대답을 참조하십시오 .
검은 화재
Blackfire는 Symfony2 사용자 인 SensioLabs의 PHP 프로파일 러입니다. https://blackfire.io/
puphpet 을 사용 하여 가상 머신을 설정하면 지원된다는 사실에 기뻐할 것입니다 ;-)