Wie Sie wahrscheinlich wissen, hat Xdebug die Unterstützung für Speicherprofile seit der 2. * -Version eingestellt. Suchen Sie hier nach der Zeichenfolge "Entfernte Funktionen": http://www.xdebug.org/updates.php
Funktionen entfernt
Die Unterstützung für die Speicherprofilerstellung wurde entfernt, da dies nicht ordnungsgemäß funktioniert hat.
Also habe ich ein anderes Tool ausprobiert und es hat bei mir gut funktioniert.
https://github.com/arnaud-lb/php-memory-profiler
Folgendes habe ich auf meinem Ubuntu-Server getan, um es zu aktivieren:
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
Und dann in meinem Code:
<?php
memprof_enable();
// do your stuff
memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));
Öffnen Sie schließlich die callgrind.out
Datei mit KCachegrind
Verwendung von Google Gperftools (empfohlen!)
Installieren Sie zunächst die Google Gperftools, indem Sie das neueste Paket hier herunterladen: https://code.google.com/p/gperftools/
Dann wie immer:
sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install
Jetzt in Ihrem Code:
memprof_enable();
// do your magic
memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));
Öffnen Sie dann Ihr Terminal und starten Sie:
pprof --web /tmp/profile.heap
pprof erstellt in Ihrer vorhandenen Browsersitzung ein neues Fenster mit den folgenden Angaben :
Xhprof + Xhgui (meiner Meinung nach das Beste, um sowohl CPU als auch Speicher zu profilieren)
Mit Xhprof und Xhgui können Sie auch die CPU-Auslastung oder nur die Speichernutzung profilieren, wenn dies momentan Ihr Problem ist. Es ist eine sehr vollständige Lösung, es gibt Ihnen die volle Kontrolle und die Protokolle können sowohl auf Mongo als auch im Dateisystem geschrieben werden.
Für weitere Details siehe meine Antwort hier .
Schwarzes Feuer
Blackfire ist ein PHP-Profiler von SensioLabs, den Symfony2-Jungs https://blackfire.io/
Wenn Sie Ihre virtuelle Maschine mit puphpet einrichten, werden Sie froh sein zu wissen, dass sie unterstützt wird ;-)