Như bạn có thể biết, Xdebug đã bỏ hỗ trợ cấu hình bộ nhớ kể từ phiên bản 2. *. Vui lòng tìm kiếm chuỗi "chức năng bị loại bỏ" tại đây: http://www.xdebug.org/updates.php
Đã loại bỏ các chức năng
Đã xóa hỗ trợ cho cấu hình Bộ nhớ vì nó không hoạt động bình thường.
Vì vậy, tôi đã thử một công cụ khác và nó hoạt động tốt cho tôi.
https://github.com/arnaud-lb/php-memory-profiler
Đây là những gì tôi đã làm trên máy chủ Ubuntu của mình để kích hoạt nó:
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
Và sau đó trong mã của tôi:
<?php
memprof_enable();
// do your stuff
memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));
Cuối cùng mở callgrind.out
tệp bằng KCachegrind
Sử dụng gperftools của Google (được khuyến nghị!)
Trước hết, hãy cài đặt Google gperftools bằng cách tải xuống gói mới nhất tại đây: https://code.google.com/p/gperftools/
Sau đó, như mọi khi:
sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install
Bây giờ trong mã của bạn:
memprof_enable();
// do your magic
memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));
Sau đó, mở thiết bị đầu cuối của bạn và khởi chạy:
pprof --web /tmp/profile.heap
pprof sẽ tạo một cửa sổ mới trong phiên trình duyệt hiện tại của bạn với một cái gì đó như hình dưới đây:
Xhprof + Xhgui (theo ý kiến của tôi là tốt nhất để cấu hình cả cpu và bộ nhớ)
Với Xhprof và Xhgui, bạn có thể định cấu hình việc sử dụng cpu hoặc chỉ sử dụng bộ nhớ nếu đó là vấn đề của bạn vào lúc này. Đó là một giải pháp rất hoàn chỉnh, nó cung cấp cho bạn toàn quyền kiểm soát và các bản ghi có thể được ghi cả trên mongo hoặc trong hệ thống tệp.
Để biết thêm chi tiết, hãy xem câu trả lời của tôi tại đây .
Lửa đen
Blackfire là một hồ sơ PHP của SensioLabs, Symfony2 guys https://blackfire.io/
Nếu bạn sử dụng Puphpet để thiết lập máy ảo của mình, bạn sẽ rất vui khi biết nó được hỗ trợ ;-)