Как использовать get_cfg_var () в приложении cakePHP? - PullRequest
1 голос
/ 24 декабря 2009

У меня есть приложение cakePHP с настроенными серверами БД в приложении / config / файл database.php. Однако мне нужно использовать get_cfg_var ('mysql.default_host'), чтобы получить имя хоста, потому что клиент не хочет, чтобы имя было жестко закодировано.

1 Ответ

1 голос
/ 27 декабря 2009

В файле /app/config/bootstrap.php добавьте новую константу, например, так:

<?php
// get the default host name set in php.ini
$defaultHost = get_cfv_var('mysql.default_host');
// might want it to try using localhost if get_cfv_var is not set
if(!$defaultHost) {
  $defaultHost = "localhost";
}
define("DB_HOST_NAME", $defaultHost);
?>

Затем в /app/config/database.php в массиве по умолчанию (или любом другом массиве БД, который вы используете для производства) используйте константу:

<?php
// set up the database connection
var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => DB_HOST_NAME, // use the default set by get_cfv_var()
        'login' => 'username',
        'password' => 'password',
        'database' => 'database',
        'prefix' => '',
    );
?>

Надеюсь, это поможет!

...