diff --git a/lib/Alchemy/Phrasea/Application/Api.php b/lib/Alchemy/Phrasea/Application/Api.php index 9c602b6bf9..751fb1d484 100644 --- a/lib/Alchemy/Phrasea/Application/Api.php +++ b/lib/Alchemy/Phrasea/Application/Api.php @@ -28,6 +28,8 @@ use Alchemy\Phrasea\Core\Provider\JsonSchemaServiceProvider; use Monolog\Logger; use Monolog\Processor\WebProcessor; use Silex\Application as SilexApplication; +use Silex\Provider\WebProfilerServiceProvider; +use Sorien\Provider\DoctrineProfilerServiceProvider; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -125,6 +127,20 @@ return call_user_func(function ($environment = PhraseaApplication::ENV_PROD) { $app->mount($app['controller.media_accessor.route_prefix'], new MediaAccessor()); $app->mount('/include/minify/', new Minifier()); + if (PhraseaApplication::ENV_DEV === $app->getEnvironment()) { + $app->register($p = new WebProfilerServiceProvider(), [ + 'profiler.cache_dir' => $app['cache.path'].'/profiler', + ]); + $app->mount('/_profiler', $p); + + if ($app['phraseanet.configuration-tester']->isInstalled()) { + $app->register(new DoctrineProfilerServiceProvider()); + $app['db'] = $app->share(function (PhraseaApplication $app) { + return $app['orm.em']->getConnection(); + }); + } + } + $app['dispatcher'] = $app->share($app->extend('dispatcher', function ($dispatcher, PhraseaApplication $app) { $dispatcher->addSubscriber(new ApiOauth2ErrorsSubscriber($app['phraseanet.exception_handler'], $app['translator'])); diff --git a/www/api.php b/www/api.php index 6b203a5245..dbac1371f2 100644 --- a/www/api.php +++ b/www/api.php @@ -18,7 +18,7 @@ error_reporting(0); ErrorHandler::register(); -$environment = Application::ENV_PROD; +$environment = getenv('APP_ENV') ?: Application::ENV_PROD; $app = require __DIR__ . '/../lib/Alchemy/Phrasea/Application/Api.php'; $app->run();