PHP Blackfire quick start
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 крашится, если включено одно из расширений: XHProfPinba, или Suhosin. Поэтому лучше их отключить как и XDebug, чтобы избежать непредвиденных ошибок в поведении.

Установка браузерного расширения

Чтобы запускать профилирование через браузер, если у вас веб-приложение, можно использовать браузерное расширение под Chrome или Firefox.

Скачиваем и устанавливаем его и указываем свои реквизиты доступа из личного кабинета:

 

Источники:

 

 

Quote of the day:

Плакать из?за того, что мы не будем жить сто лет спустя, столь же безумно, как плакать из?за того, что мы не жили сто лет назад.
By den On April 05, 2021
542

Leave a reply