Is there a way to run bin/magento setup:static-content:deploy in a M2 script? or programatically? I have a scenario where in the CSS file is replaced within the admin panel. So I was thinking to automate the running of bin/magento setup:static-content:deploy without going to the terminal and manually running this command. Is there a way to achieve this? It's not only the bin/magento setup:static-content:deploy but also the bin/magento cache:clean

  • setup:di:compile generates php classes and doesn't relate to css. Probably you need setup:static-content:deploy. For setup:di:compile you can call \Magento\Setup\Console\Command\DiCompileCommand::run
    – joni jones
    Feb 21, 2019 at 14:11
  • @jonijones updated my question Feb 21, 2019 at 15:00
  • In that case, you can use \Magento\Setup\Console\Command\DeployStaticContentCommand and \Magento\Backend\Console\Command\CacheCleanCommand as dependencies in your code and call run method to regenerate static files and clear the cache
    – joni jones
    Feb 21, 2019 at 15:56
  • @jonijones I know it's too much can you perhaps add this as answer and show a sample code for this? Feb 21, 2019 at 15:59

2 Answers 2

exec('bin/magento setup:di:compile');
exec('bin/magento cache:clean');

should get you what you need


Create Shell script.
Add bin/magento setup:di:compile ... command into shell script.

Then you can run this shell script using php file on any specific event on which you want run.

I hope this will help you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.