PHP
PHP Blackfire quick start
Установка Blackfire на сервере с PHP
Прикрутить профилировщик PHP кода Blackfire не составляет особого труда, а вот профита от этого вагон и маленькая тележка.
Конфигурация репозитория
Blackfire использует свой собственный Debian репозиторий для распространения пакетов. Он совместим с большинством Debian подобных дистрибутивов, таких как: Ubuntu, Kubuntu или Linux Mint.
Регистрируем ключ:
wget -q -O - https://packages.blackfire.io/gpg.key | sudoapt-key add -
Добавляем репозиторий:
echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list
Обновляем список пакетов:
sudo apt update
Установка пакетов
Устанавливаем пакет blackfire-agent
:
sudo apt install blackfire-agent
Настройка агента
Конфигурируем локальный агент, указывая ему свои персональные ключи из личного кабинета:
sudo blackfire-agent --register --server-id=<server-id> --server-token=<servcer-token>
Перезапускаем сервис:
sudo /etc/init.d/blackfire-agent restart
После установки локального агента в системе появится новый сервис /etc/init.d/blackfire-agent
, который вы сможете включать, выключать и перезапускать. После любого изменения конфигурации агента — сервис необходимо перезапускать.
Если у вас, вдруг, что-то пошло не так, то первым делом проверьте лог, который расположен по адресу: /var/log/blackfire/agent.log
.
Установка PHP расширения
Устанавливаем расширение blackfire-php
, которое ребята из Blackfire почему-то зовут PHP Probe
. Запускаем Local, нажимаем правой клавишей на нужном сайте и выбираем «Open site shell».
В появившемся терминале вводим команду для поиска папки с расширениями:
php -i | grep 'extension_dir'
В ответ мы получаем путь, по которому нам нужно положить расширение blackfire-php
:
Скачиваем расширение в данную папку:
wget -c https://packages.blackfire.io/binaries/blackfire-php/1.55.0/blackfire-php-linux_amd64-php-74.so
Открываем php.ini
для выбранного сайта (у меня это файл по пути /home/mihdan/www/kobzarev.test/conf/php/php.ini.hbs
) и вписываем туда путь к расширению blackfire-php
:
[blackfire]
;extension=/usr/lib/php/20190902/blackfire-php-linux_amd64-php-74.so
extension=blackfire
blackfire.agent_socket = unix:///var/run/blackfire/agent.sock
blackfire.agent_timeout = 0.25
При этом строки, связанные с xdebug
лучше закомментировать.
Перезапускаем PHP, чтобы изменения вступили в силу:
sudo systemctl restart php7.4-fpm
PHP крашится, если включено одно из расширений: XHProf
, Pinba
, или Suhosin
. Поэтому лучше их отключить как и XDebug
, чтобы избежать непредвиденных ошибок в поведении.
Установка браузерного расширения
Чтобы запускать профилирование через браузер, если у вас веб-приложение, можно использовать браузерное расширение под Chrome или Firefox.
Скачиваем и устанавливаем его и указываем свои реквизиты доступа из личного кабинета:
Источники:
Leave a reply