使用Silex,如何将网络分析器限制为仅启动/显示匹配的IP?
答案 0 :(得分:1)
我猜你可以这样做:
...
$request = Request::createFromGlobals();
$ips = array('IP1', 'IP2', 'IP3'); //IP's for which to enable web profiler
if (in_array($request->getClientIp(), $ips)) {
$app->register(new Provider\WebProfilerServiceProvider(), array(
'profiler.cache_dir' => __DIR__.'/../cache/profiler/',
'profiler.mount_prefix' => '/_profiler', // this is the default
));
}
...
$app->run($request);
答案 1 :(得分:0)
你不能使用
$request->getClientIp()
因为$ app当时没有真正初始化
相反,使用before handler:
$app->before(function (Request $request) use ($app) {
$ips = array('IP1', 'IP2', 'IP3'); //IP's for which to enable web profiler
if (in_array($request->getClientIp(), $ips)) {
//register blah
}
});
$app->run();
它将在->run()
中调用,其中上下文全部设置,一切都应该没问题。