clockwork 只能按项目安装,不可全局安装,需在 laravel 或原生 php 中手动集成,且仅在 app_debug=true 的非 cli 环境生效,不监控异步任务与命令行脚本。

Clockwork 不需要 Composer 全局安装,直接用 composer require 加到项目里就行,装完就能在 Laravel 或原生 PHP 里看到请求耗时、SQL 查询、内存占用这些关键性能数据。
为什么不用 composer global require?
全局安装 Clockwork 没意义——它必须和你的应用代码一起运行,依赖于请求生命周期钩子(比如 Laravel 的中间件或 PSR-7 请求响应流程)。全局装了也起不来,浏览器打不开面板,控制台还可能报 Class 'Clockwork\Support\Laravel\ClockworkServiceProvider' not found。
- 只在当前项目根目录下执行
composer require itsgoingd/clockwork - Laravel 5.5+ 会自动发现服务提供者;老版本要手动在
config/app.php的providers数组加一行Clockwork\Support\Laravel\ClockworkServiceProvider::class - 别碰
~/.composer/vendor/bin,那里放的是命令行工具,不是 Clockwork 的运行环境
Laravel 里看不到 Clockwork 面板?检查这三处
装完没反应,大概率是环境或配置卡住了。Clockwork 默认只在 APP_DEBUG=true 且非 CLI 环境下启用,而且会拦截响应头写入。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 确认
.env里有APP_DEBUG=true,且没被代码里硬编码成false - 检查是否用了响应缓存(比如
Response::cache()或第三方包),Clockwork 的 JS/CSS 资源会被缓存导致面板空白 - 如果你重写了
App\Http\Kernel的$middleware,确保Clockwork\Support\Laravel\ClockworkMiddleware::class在路由中间件之后、响应发送之前执行(一般放最后)
原生 PHP 项目怎么接 Clockwork?
没有框架也能用,但得手动触发收集和输出。Clockwork 提供了轻量级的 Clockwork\Support\Php\Clockwork 类,不依赖任何扩展,只要能跑 PHP 7.2+ 就行。
- 先
composer require itsgoingd/clockwork,然后在入口文件(如index.php)最开头加:if (getenv('DEBUG') === 'true') { $clockwork = new \Clockwork\Support\Php\Clockwork(); $clockwork->start(); } - 在响应前调用
$clockwork->resolve();,再用$clockwork->sendHeaders();输出元数据 - 前端要自己引入 Clockwork 官方 JS:在 HTML 底部加
<script src="https://cdn.jsdelivr.net/npm/clockwork@6.0/dist/clockwork.min.js"></script> - 注意:原生模式下不会自动捕获 PDO 查询,得手动调用
$clockwork->addDatabaseQuery(...)
Clockwork 最容易被忽略的点是「它不监控异步任务、队列或命令行脚本」——哪怕你开了 APP_DEBUG,Artisan 命令或 Horizon worker 里的 SQL 和日志也不会上报。真要查队列性能,得换 laravel-telescope 或直接看 DB 日志。










