From 0f4c0a6eafcc8efb1848cc8ea7020ac30506bbf6 Mon Sep 17 00:00:00 2001 From: Dany Maillard Date: Tue, 28 Aug 2018 20:37:40 +0200 Subject: [PATCH] Add support for Xdebug Profiler --- .../Bundle/WebServerBundle/Command/ServerRunCommand.php | 3 +++ .../Bundle/WebServerBundle/Command/ServerStartCommand.php | 3 +++ src/Symfony/Bundle/WebServerBundle/WebServer.php | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php b/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php index 1c671bf668..64bc45b026 100644 --- a/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php +++ b/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php @@ -133,6 +133,9 @@ EOF $config = new WebServerConfig($documentRoot, $env, $input->getArgument('addressport'), $input->getOption('router')); $io->success(sprintf('Server listening on http://%s', $config->getAddress())); + if (ini_get('xdebug.profiler_enable_trigger')) { + $io->comment('Xdebug profiler trigger enabled.'); + } $io->comment('Quit the server with CONTROL-C.'); $exitCode = $server->run($config, $disableOutput, $callback); diff --git a/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php b/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php index 0c0f8625c5..6c0fb781ce 100644 --- a/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php +++ b/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php @@ -144,6 +144,9 @@ EOF if (WebServer::STARTED === $server->start($config, $input->getOption('pidfile'))) { $io->success(sprintf('Server listening on http://%s', $config->getAddress())); + if (ini_get('xdebug.profiler_enable_trigger')) { + $io->comment('Xdebug profiler trigger enabled.'); + } } } catch (\Exception $e) { $io->error($e->getMessage()); diff --git a/src/Symfony/Bundle/WebServerBundle/WebServer.php b/src/Symfony/Bundle/WebServerBundle/WebServer.php index f727b3ed4e..1195853b08 100644 --- a/src/Symfony/Bundle/WebServerBundle/WebServer.php +++ b/src/Symfony/Bundle/WebServerBundle/WebServer.php @@ -150,7 +150,9 @@ class WebServer throw new \RuntimeException('Unable to find the PHP binary.'); } - $process = new Process(array_merge(array($binary), $finder->findArguments(), array('-dvariables_order=EGPCS', '-S', $config->getAddress(), $config->getRouter()))); + $xdebugArgs = ini_get('xdebug.profiler_enable_trigger') ? array('-dxdebug.profiler_enable_trigger=1') : array(); + + $process = new Process(array_merge(array($binary), $finder->findArguments(), $xdebugArgs, array('-dvariables_order=EGPCS', '-S', $config->getAddress(), $config->getRouter()))); $process->setWorkingDirectory($config->getDocumentRoot()); $process->setTimeout(null);