bavix / laravel-xhprof
Quick profiling of your code for Laravel
Installs: 149 602
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 3
Forks: 10
Open Issues: 2
Requires
- php: >=7.1
- laravel/framework: ^5.3|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
README
Laravel XHProf - Library for profiling in production.
- Vendor: bavix
- Package: Laravel XHProf
- 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
- Install xhprof extension for PHP:
pecl install xhprof
- Add in php.ini or other included config (xhprof.ini):
extension=xhprof.so xhprof.output_dir=/tmp/xhprof
- Restart PHP:
sudo systemctl restart fp2-php72-fpm.service
- 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
-
Add domain for view results profiling (xhprof.domain.ru).
-
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
-
Change root path in Nginx config for this domain:
set $root_path /var/www/xhprof.domain.ru/xhprof-0.9.4/xhprof_html;
-
Install this package:
composer req bavix/laravel-xhprof --dev
- 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 ];
-
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. -
Reload page Laravel site and go to xhprof.domain.ru
Enjoy!
I wrote the instructions @wdda, thank you.