0

我需要创建一个执行的命令:

$ 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 用于部署过程,但这不是这个新任务的目的)。

谢谢。

4

3 回答 3

3

如果您使用 Composer,您可以在 composer.json 文件的“脚本”部分添加一些安装后命令,例如(这是标准 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"
    ]
},
于 2013-07-22T13:22:29.117 回答
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
于 2013-07-22T13:19:37.027 回答
0

尝试安装一个控制台包看看这个https://github.com/CoreSphere/ConsoleBundle 这个包允许你通过浏览器访问 Symfony2 控制台

于 2013-07-22T15:39:53.057 回答