Есть ли лучшая практика (IDE-based?), Скрипт PHP / bash или что-то еще
в PHP? В настоящее время я придерживаюсь самостоятельных решений, использующих microtime()
, но это грязный, неуправляемый и медленный способ сделать это. Меня особенно интересуют решения с основными PHP-IDE, такими как Eclipse, Netbeans, PHPStorm и VIM. Идеальное решение будет инструментом, который отслеживает все приложение и обеспечивает отслеживание времени выполнения для каждой строки, каждого метода и каждого настраиваемого блока действий.
Я получу 50 бонусов за хороший ответ.
Это то, что вы ищете: http://xdebug.org/docs/profiler . Вы можете настроить netbeans для присоединения к процессу php, а затем запускать скрипты шаг за шагом, следить за текущим содержимым переменных и анализировать его время работы.
Просто добавьте dll в другое расширение php, настройте php ini:
; xdebug zend_extension = "C:\php\v5.4\ext\php_xdebug-2.2.3-5.4-vc9-nts.dll" xdebug.remote_enable=on ;xdebug.remote_log="/var/log/xdebug.log" xdebug.remote_host=localhost xdebug.remote_handler=dbgp xdebug.remote_port=9000 xdebug.profiler_enable=1 xdebug.profiler_output_dir="C:\dev\profilling\"
Настройка Netbeans:
Затем нажмите Ctrl + F5 в netbeans (отладка). Чем вы можете запустить скрипт шаг за шагом и посмотреть текущие значения переменных:
Чтобы просмотреть сгенерированный журнал профилировщиков, используйте http://sourceforge.net/projects/precompiledbin/ или http://sourceforge.net/projects/wincachegrind/ в Windows или http://kcachegrind.sourceforge.net/html/Home.html. для linux.