Seperti yang mungkin Anda ketahui, Xdebug menghentikan dukungan profil memori sejak versi 2. *. Silakan cari string "fungsi yang dihapus" di sini: http://www.xdebug.org/updates.php
Fungsi yang dihapus
Menghapus dukungan untuk Profil memori karena tidak berfungsi dengan benar.
Jadi saya sudah mencoba alat lain dan itu bekerja dengan baik untuk saya.
https://github.com/arnaud-lb/php-memory-profiler
Inilah yang saya lakukan di server Ubuntu saya untuk mengaktifkannya:
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
Dan kemudian di kode saya:
<?php
memprof_enable();
// do your stuff
memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));
Terakhir buka callgrind.out
file dengan KCachegrind
Menggunakan Google gperftools (disarankan!)
Pertama-tama instal Google gperftools dengan mengunduh paket terbaru di sini: https://code.google.com/p/gperftools/
Kemudian seperti biasa:
sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install
Sekarang dalam kode Anda:
memprof_enable();
// do your magic
memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));
Kemudian buka terminal Anda dan luncurkan:
pprof --web /tmp/profile.heap
pprof akan membuat jendela baru di sesi browser Anda yang sudah ada dengan sesuatu seperti yang ditunjukkan di bawah ini:
Xhprof + Xhgui (menurut saya yang terbaik untuk profil cpu dan memori)
Dengan Xhprof dan Xhgui Anda dapat membuat profil penggunaan cpu juga atau hanya penggunaan memori jika itu masalah Anda saat ini. Ini adalah solusi yang sangat lengkap, ini memberi Anda kendali penuh dan log dapat ditulis baik di mongo atau di sistem file.
Untuk lebih jelasnya lihat jawaban saya di sini .
Api hitam
Blackfire adalah profiler PHP oleh SensioLabs, orang-orang Symfony2 https://blackfire.io/
Jika Anda menggunakan boneka untuk mengatur mesin virtual Anda, Anda akan senang mengetahui bahwa itu didukung ;-)