Главная Регистрация Вход
Приветствую Вас Гость!

Мой сайт
Главная » 2010 » Октябрь » 30 » Профилирование PHP под Windows
15:26
Профилирование PHP под Windows
Если у Вас не установлена Visual Studio 2005 (или 2008), то скачайте и установите “Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)“.

Рано или поздно все программисты PHP сталкиваются с необходимостью профилирования собственного кода. Она возникает на этапе оптимизации работы веб-приложения. Вообще, профилирование — это подсчет затрат времени на выполнение каждой отдельной функции (в том числе методов классов) в контексте времени генерации страницы-ответа целиком. О профилировании написано в Интернете достаточно много, поэтому на теории заострять внимание смысла нет. “Под катом” описана установка и настройка софта для профилирования PHP-скриптов в ОС Windows.

Для профилирования нам понадобится компонент подсчета времени выполнения функций PHP и формирования отчета и компонент визуального представления этого отчета для анализа.

Существуют как минимум 3 профайлера PHP-кода: Xdebug, Advanced PHP Debuger и DBG. Скажу честно, два последних я даже не рассматривал по двум причинам: Xdebug — самый популярный, Xdebug встроен в сборку xampp, которая стоит на моей локальной машине.

Установка Xdebug

Интеграция Xdebug’а в PHP очень проста. С сайта www.xdebug.org необходимо скачать DLL-extension для вашей версии PHP. Вот файл для PHP 5.2.1-5.2.6 под Windows. Скачанный файл необходимо положить в каталог расширений PHP (extension_dir). А в php.ini добавить следующие строки:

extension=php_xdebug.dll

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts=”c:\php\ext\php_xdebug.dll
xdebug.remote_enable=true
xdebug.remote_host=127.0.>0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbg>p
xdebug.profiler_enable=1
xdebug.profiler_output_di>r=”c:\temp

При этом строки секции [Zend] требуется закомментировать (поставить ; в начале каждой строки):

[Zend]
;zend_extension_ts = “c:\php\zendOptimizer\lib\ZendEx>tensionManager.dll”
;zend_extension_manager.o>ptimizer_ts = “c:\php\zendOptimizer\lib\Optimi>zer”
;zend_optimizer.enable_lo>ader = 0
;zend_optimizer.optimizat>ion_level=15

Установите правильные пути в параметры zend_extension_ts и xdebug.profiler_output_di>r секции XDebug. Путь xdebug.profiler_output_dir — это каталог, в который будет записан файл отчета.

На этом установка Xdebug закончена. Подробности по тонкой настройке этого расширения ищите при необходимости в гугле. Ознакомиться со всеми его возможностями можно на официальном сайте.

Установка KCachegrind под Windows

Открываем любую страницу вашего сайта и в каталоге xdebug.profiler_output_di>r появляется файл отчета. Открывать его в Блокноте или другом средстве просмотра текстовых файлов нет никакого смысла. Его формат невозможно воспринять в текстовом виде. Для просмотра файла отчета понадобится средство KCachegrind, которое требует наличия KDE для запуска.

Есть, правда, еще WinCachegrind, но эта программулина глючная, слабенькая и с 2005 года не обновляется. Мой файл отчета она прочитать не смогла (parse error).

Итак, приступаем к установке KCachegrind под Windows. Благо, она абсолютно простая.

  • Зайдите на www.winkde.org/pub/kde/po>rtswin32/installer/ и скачайте самую последнюю версию установщика.
  • Запустите установщик (есть картинки процесса установки), выберите каталог установки (например в C:\KDE), скачайте то, что вам нужно (я выбрал все пакеты — это около 230 Мб).
  • Добавьте переменную окружения KDEDIRS (Пуск > Панель управления > Система > Дополнительно > Переменные среды, нажмите “Создать” в разделе Пользовательские переменные и создайте переменную с именем KDEDIRS и значением равным папке, в которую Вы установили KDE4, напр. C:\KDE).
  • Добавьте папку библиотек, %KDEDIRS%\lib, и папку исполняемых файлов, %KDEDIRS%\bin, к переменной %PATH% Windows. (Пуск > Панель управления > Система > Дополнительно > Переменные среды, дважды щелкните на системной переменной Path и добавьте эти строки, разделяя их точкой с запятой.)
  • Если у Вас не установлена Visual Studio 2005 (или 2008), то скачайте и установите “Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)“.
  • Попробуйте запустить какое-нибудь Qt приложение в папке bin, например linguist.exe.
  • Если получилось, попробуйте запустить любое приложение KDE, такое как kwrite.exe.
  • Дополнительная информация по установке.

    На этом установка закончена. Вы можете запустить KCachegrind (c:\KDE\bin\kcachegrind.e>xe) и скормить ей файл вашего отчета профайлера.

    Дополнительную информацию по профилированию PHP-кода можете почитать на сайте Zend’а, а я планирую написать еще статейку на эту тему, может даже завтра.

    Категория: Новости | Просмотров: 207 | Добавил: mortyand | Рейтинг: 0.0/0
    Всего комментариев: 0

    Категории раздела

    Новости [537]

    Мини-чат

    Наш опрос

    Оцените мой сайт
    Всего ответов: 1

    Статистика


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Поиск

    Календарь

    «  Октябрь 2010  »
    ПнВтСрЧтПтСбВс
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
    Четверг
    02.05.2024
    05:21


    Copyright MyCorp © 2024

    Бесплатный конструктор сайтов - uCoz