Skip to content

Laravel XHProf - Library for profiling in production.

License

Notifications You must be signed in to change notification settings

bavix/laravel-xhprof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel XHProf

Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status

Package Rank Latest Stable Version Latest Unstable Version License composer.lock

Laravel XHProf - Library for profiling in production.

  • Vendor: bavix
  • Package: Laravel XHProf
  • Version: Latest Stable Version
  • Laravel Version: 5.5, 5.6, 5.7, 5.8, 6.0, 7.0, 8.0
  • PHP Version: 7.1+
  • Composer: composer require bavix/laravel-xhprof

Get Started

  1. Install xhprof extension for PHP:
pecl install xhprof
  1. Add in php.ini or other included config (xhprof.ini):
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof
  1. Restart PHP:
sudo systemctl restart fp2-php72-fpm.service
  1. Check XHProf in PHP Info:
php -i | grep xhprof

Result:

/opt/php72/conf.d/xhprof.ini,
xhprof
xhprof support => enabled
xhprof.collect_additional_info => 0 => 0
xhprof.output_dir => /tmp/xhprof => /tmp/xhprof
xhprof.sampling_depth => 2147483647 => 2147483647
xhprof.sampling_interval => 100000 => 100000
  1. Add domain for view results profiling (xhprof.domain.ru).

  2. Download library for view:

cd /var/www/xhprof.domain.ru;
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
gzip -d xhprof-0.9.4.tgz
tar -xvf xhprof-0.9.4.tar
  1. Change root path in Nginx config for this domain: set $root_path /var/www/xhprof.domain.ru/xhprof-0.9.4/xhprof_html;

  2. Install this package:

composer req bavix/laravel-xhprof --dev
  1. Create config xhprof.php to Laravel in config dir (if empty):
<?php
return [
    'path' => base_path('../xhprof.domain.ru/xhprof-0.9.4'),
    'enabled' => true,
    'freq' => 1
];
  1. If you have old laravel (<=5.4), register the service provider by add this line \Bavix\XHProf\XHProfServiceProvider::class in your /config/app.php. If laravel 5.5 and older then skip this step.

  2. Reload page Laravel site and go to xhprof.domain.ru

Enjoy!

I wrote the instructions @wdda, thank you.