Раньше я уже описывал в статье как установить 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.
Всем удачи.
Комментарии
Спасибо, пригодилось!
Ответитьа у меня не устанавливается на 7.3, ругается "zend_execution_data has no member name literals"
Ответить