Symfony2数据库主机为localhost


symfony2 database host is localhost

以下是我的参数。yml

parameters:
    database_driver: pdo_mysql
    database_host: 192.168.1.7
    database_port: null
    database_name: kpb
    database_user: kpb_user

这里是echo $this->container->getParameter('database_host') - from controller

192.168.1.7

这里是堆栈跟踪-

2. at PDO ->__construct ('mysql:host=localhost;dbname=kpb;charset=UTF8;', 'kochampo_user', '

这里是…

echo __FILE__;
        var_dump($params);
        die();

vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.phparray(8) { ["driver"]=> string(9) "pdo_mysql" ["dbname"]=> string(3) "kpb" ["user"]=> string(8) "kpb_user" ["password"]=> string(12) "****" ["charset"]=> string(4) "UTF8" ["host"]=> string(9) "localhost" ["port"]=> NULL ["driverOptions"]=> array(0) { } } 

grep -r "localhost" app/config/ 
return null 

缓存被cache:clear清除,我手动删除缓存目录(数据库名称立即更改)。

那么如何更改数据库主机呢?为什么总是localhost ?

您需要在您的config.yml中有下一个字符串,以使您的数据库连接使用主机参数包:

doctrine:
    dbal:
        host:     "%database_host%"