简介
aaron-dev/xhprof-laravel是一款适配laravel的代码性能分析插件。
主要对旧版且无法使用的xhprof做优化调整,用于适配laravel,安装简单快捷。
开发者可以通过浏览器快速访问性能分析报告,排查代码性能问题。
作者博客
安装
php要安装xhprof扩展
在php.ini中增加配置1
2
3
4[xhprof]
extension=xhprof.so;
xhprof.output_dir=/tmp/xhprof;
Use Composer:1
composer require aaron-dev/xhprof-laravel
静态资源由包内路由提供,无需复制到 public。访问报告页时,CSS/JS 会通过 /xhprof-assets/... 从包内自动加载。
发布配置(可选,不发布则使用包内默认配置):
1
php artisan vendor:publish --tag=xhprof-config
或使用旧方式:
1
php artisan vendor:publish --provider="Aaron\Xhprof\XhprofServiceProvider"
注意:Laravel 11+ 通过 Composer extra.laravel.providers 自动注册本包,一般无需手动注册。
配置
- 注册中间件并挂到需要分析的路由上
Laravel 11+(bootstrap/app.php):1
2
3
4
5use Aaron\Xhprof\Middleware\XhprofMiddleware;
->withMiddleware(function (Middleware $middleware) {
$middleware->alias(['xhprof' => XhprofMiddleware::class]);
})
路由中使用:->middleware('xhprof') 或 ->middleware(XhprofMiddleware::class)。
或仅在指定路由使用:1
2
3
4
5use Aaron\Xhprof\Middleware\XhprofMiddleware;
Route::get('/', function () {
return view('welcome');
})->middleware(XhprofMiddleware::class);
2.基础配置在config/xhprof.php中
1 |
|
3.增加访问控制器,然后就可以访问了1
2
3
4
5
6
7
8
9
10
11
12
13<?php
namespace App\Http\Controllers;
use Aaron\Xhprof\Xhprof;
class IndexController extends Controller{
public function index(){
return Xhprof::index();
}
}

本插件参考phacility/xhprof、phpxxb/xhprof、aaron-dev/xhprof-webman
本文链接: https://erik.xyz/open/xhprof-laravel.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!