我需要创建一个执行命令:
$ php app/console cache:clear --env=prod
$ php app/console composer:update
$ php app/console doctrine:schema:drop --force
$ php app/console doctrine:schema:create
$ php app/console doctrine:fixtures:load .... yes
$ php app/console assets:dump --env=prod
你有什么想法吗? (我已尝试使用Capifony进行部署过程,但这不是此新任务的目的)。
感谢。
答案 0 :(得分:3)
如果您使用Composer,您可以在composer.json文件的“scripts”部分添加一些安装后命令,例如(这是标准symfony发行版中的一个):
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
答案 1 :(得分:1)
您是否在类似Unix / Linux的系统上?如果是,您可以将它们全部放在shell脚本中:
#!/bin/sh
dir="path where Symfony is installed"
cd "$dir"
php app/console cache:clear --env=prod
php app/console composer:update
php app/console doctrine:schema:drop --force
php app/console doctrine:schema:create
php app/console doctrine:fixtures:load .... yes
php app/console assets:dump --env=prod
答案 2 :(得分:0)
尝试安装一个控制台包看看https://github.com/CoreSphere/ConsoleBundle 此捆绑包允许您通过浏览器访问Symfony2控制台