WARNING: You are browsing the documentation for Symfony 2.7 which is not maintained anymore. Consider upgrading your projects to Symfony 4.1.

How to Use the Console

2.7 version
Maintained Unmaintained

How to Use the ConsoleΒΆ

The Using Console Commands, Shortcuts and Built-in Commands page of the components documentation looks at the global console options. When you use the console as part of the full-stack framework, some additional global options are available as well.

By default, console commands run in the dev environment and you may want to change this for some commands. For example, you may want to run some commands in the prod environment for performance reasons. Also, the result of some commands will be different depending on the environment. For example, the cache:clear command will clear and warm the cache for the specified environment only. To clear and warm the prod cache you need to run:

1
$ php app/console cache:clear --env=prod

or the equivalent:

1
$ php app/console cache:clear -e prod

In addition to changing the environment, you can also choose to disable debug mode. This can be useful where you want to run commands in the dev environment but avoid the performance hit of collecting debug data:

1
$ php app/console list --no-debug

There is an interactive shell which allows you to enter commands without having to specify php app/console each time, which is useful if you need to run several commands. To enter the shell run:

1
2
$ php app/console --shell
$ php app/console -s

You can now just run commands with the command name:

1
Symfony > list

When using the shell you can choose to run each command in a separate process:

1
2
$ php app/console --shell --process-isolation
$ php app/console -s --process-isolation

When you do this, the output will not be colorized and interactivity is not supported so you will need to pass all command parameters explicitly.

Note

Unless you are using isolated processes, clearing the cache in the shell will not have an effect on subsequent commands you run. This is because the original cached files are still being used.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.