Раньше я уже описывал в статье как установить xhprof, но это было для php версий ниже php7.0. А теперь настало время написать статью и под 7.0. В связи с расширением штата, приходится делать одно и тоже и наступать на одни и те же грабли, приходится писать мануал, что бы не забыть. Так что не пинайте, если вдруг что то не понятно. Внизу есть комментарии и Вам всегда помогут.

Данная инструкция пишется для обладателей UNIX систем.

Поехали!!))

Клонируем себе репозиторий xhprof:

git clone https://github.com/RustJason/xhprof

Переходим в скачанный проект и переключаем ветку:

cd xhprof
git checkout -b php7 origin/php7

получаем ответ что все ок и мы переключились:

Ветка php7 отслеживает внешнюю ветку php7 из origin перемещением.
Переключено на новую ветку «php7»

переходим в папку extension и подготавливаемся к сборке:

cd extension
phpize7.0

В моем случае phpize не оказалось в системе, пришлось лечить. Это лечится установкой dev пакета php:

sudo apt-get install php7.0-dev
# после снова пробуем
biperch@biperch-desktop:~/Загрузки/xhprof/extension$ phpize7.0
# и видим результат
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012

продолжаем конфигурировать сборку

./configure --with-php-config=/usr/bin/php-config7.0

у меня выскочила ошибка что не хватает re2c

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

пришлось до установить:

sudo apt-get install re2c

Проверяем что бы в результате не было сообщений об ошибке и начинаем сборку:

sudo make && sudo make install

Если вы видите сообщения о ошибках но make прошел успешно, не стоит беспокоится, он даже в таком состоянии достаточно работоспособен. Как советует make, выполните make test. У меня он выдал 5 пройденных тестов и 7 заваленых. Но работает)).

И так наш скомпиленный модуль уже установился куда надо, осталось его подключить:

sudo echo "extension=xhprof.so" > /etc/php/7.0/mods-available/xhprof.ini
sudo ln -s /etc/php/7.0/mods-available/xhprof.ini /etc/php/7.0/apache2/conf.d/20-xhprof.ini 
sudo service apache2 restart

Мы создали для php файл подключения, после создали ссылку для запуска этого модуля в php и перезапустили apache.

Теперь вы можете установить веб часть для просмотра логов описанную в предыдущей статье: Профилирование и отладка php-приложений с помощью xhprof.

Всем удачи.