Быстрая функция, чтобы указать инициализатору базы данных использовать локальный U / P или имя пользователя / пароль веб-хоста? - PullRequest
0 голосов
/ 20 января 2011

Я однажды сталкивался с подобным вопросом на SO, но не пометил его и сейчас не могу его найти.

В настоящее время мой init.php файл выглядит так:

$db_username = user;
$db_password = pass;
//$db_username = user213124; // webhost
//$db_password = pass214142; // webhost

и я поочередно комментирую / раскомментирую эти строки в зависимости от того, работает ли он на XAMPP моей тестовой машины или на моем веб-хосте.

Иногда я забываю и загружаю не тот, который всегда хорош для смеха.

Я уверен, что есть способ написать короткую функцию, позволяющую init.php определить его местоположение и использовать соответствующее имя пользователя / пароль.

Первое решение, которое пришло мне в голову, было простым if(file_exists()) {} и проверкой того, что ТОЛЬКО будет на моей тестовой машине. Я предполагаю, что есть лучший способ, который не запрашивает доступ к диску, амирит?

Спасибо.

PS - пожалуйста, отредактируйте мою тему, чтобы сделать ее более точной. Я старался изо всех сил. Вроде сложно описать ...

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Есть несколько способов сделать это, некоторые могут быть лучше, чем другие, я думаю, что все зависит от вашей ситуации.

Один из способов - проверить что-то в $_SERVER.Например, вы можете использовать имя сервера:

if ($_SERVER['SERVER_NAME'] == 'my.dev.server') {
    $user = 'dev_user';
    $pass = 'dev_pass';
} else {
    $user = 'other_user';
    $user = 'other_pass';
}

Вы также можете подумать о наличии локального файла конфигурации, уникального для любой среды, в которой вы находитесь.Это может быть INI-файл или PHP-файл, который просто определяет вышеупомянутые переменные и включен, но не находится под контролем версий и не меняется очень часто.

Иногда люди также определяют переменные среды.Возможно, есть и другие способы.

0 голосов
/ 20 января 2011

Я использую директиву ServerAdmin apache, чтобы идентифицировать мою локальную машину для разработки ... Просто посмотрите, как вы можете установить ServerAdmin вашего сервера XAMP и отметьте

$_SERVER['SERVER_ADMIN'] 
...