命令"更新作曲家"改变我的parameter.yml

时间:2015-08-20 17:57:41

标签: symfony composer-php

当我使用时:

php ../composer.phar update

parameter.yml 文件被修改!!

是否有保留自己的parameter.yml文件的选项?

我的参数.yml:

# This file is auto-generated during the composer install
parameters:
database_driver: pdo_mysql
database_driver2: pdo_mysql
database_host: 127.0.0.1
database_host2: 127.0.0.1
database_port: null
database_port2: null
database_name: bissap_forum
database_name2: symfony
database_user: root
database_user2: root
database_password: seb666
database_password2: seb666
mailer_transport: smtp
mailer_transport2: smtp
mailer_host: 127.0.0.1
mailer_host2: 127.0.0.1
mailer_user: null
mailer_user2: null
mailer_password: null
mailer_password2: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt

更新作曲家后 parameter.yml:

# This file is auto-generated during the composer install
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: bissap_forum
database_user: root
database_password: seb666
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt

我不明白......

2 个答案:

答案 0 :(得分:4)

那是因为您尚未在app/config/parameters.yml.dist文件中声明自定义参数。

建议Best Practices使用文件app/config/parameters.yml.dist来存放所有自定义参数,因为每次symfony2更新时,它会比较这两个文件,并在您重新安装或安装时询问您你的应用程序在不同的系统中。

另外,如果你查看.gitignore,你会发现app/config/parameters.yml也没有上传到你的版本控制系统。

答案 1 :(得分:2)

我认为从composer.json中删除"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"可以帮到你,或者你可以尝试将这些行添加到composer.json:

{
    "extra": {
        "incenteev-parameters": {
            "keep-outdated": true
        }
    }
}

可以找到更多信息here

编辑:这个答案不是关于最佳做法,而是按原样回答问题。